RubyMine で Rails Tutorial 3章

  •  
  •  
  •  

3章。簡単なページからなるアプリと、テストですね。

sample_app として新しくプロジェクトを起こします。
Skip Test::Unit files のチェックボックスを外して、インストールされるようにします。

RoboCop が無効になっていると出て来ました。静的コード分析ツールのようです。有効にしてみますか。

チュートリアルにあるように Gemfile を編集します。バージョン番号は特に指定せず、最新のものを使うようにしてみました。

(編集したところ)

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]

  # Use sqlite3 as the database for Active Record
  gem 'sqlite3'
end

group :production do
  gem 'pg'
end

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 2.15', '< 4.0'
  gem 'selenium-webdriver'
  # Easy installation and use of chromedriver to run system tests with Chrome
  gem 'chromedriver-helper'

  gem 'rails-controller-testing'
  gem 'minitest-reporters'
  gem 'guard'
  gem 'guard-minitest'
end

保存すると RubyMine で検知してくれるので、–without production をつけてインストールします。

Process finished with exit code 0 と出てくれば正常終了です。

README.md を編集します。Markdown はプレビューも RubyMine の中でできるので見やすいですね。
編集したら git commit もしておきます。

GitHub でリポジトリを作ります。sample_app という名前でなくても、管理しやすい名前で大丈夫です。わたしは rails_tutorial_2018 にしました。

作ったリポジトリに push する方法も案内されます。

RubyMine のターミナルから実行します。

ちゃんと push できたら、GitHub 側も更新されて見えるようになりますね。

Terminal で git remote -v すると、remote の設定が確認できます。

iMac:sample_app sugimura$ git remote -v
origin  git@github.com:sugitk/rails_tutorial_2018.git (fetch)
origin  git@github.com:sugitk/rails_tutorial_2018.git (push)
iMac:sample_app sugimura$ 

RubyMine でも、右下の Git のウインドウで確認できるようになっています。

リスト 3-4〜3-5 のように root のルーティングと ApplicationController#hello を追加して、heroku にも push してみます。
実際には git commit は RubyMine の中でポチポチと作業しています。

iMac:sample_app sugimura$ git commit -am "Add hello"
iMac:sample_app sugimura$ git push
iMac:sample_app sugimura$ heroku create
iMac:sample_app sugimura$ git push heroku master
iMac:sample_app sugimura$ heroku open

このとき、git remote -v すると remote として heroku も追加されていることがわかります。

iMac:sample_app sugimura$ git remote -v
heroku  https://git.heroku.com/sleepy-wildwood-37153.git (fetch)
heroku  https://git.heroku.com/sleepy-wildwood-37153.git (push)
origin  git@github.com:sugitk/rails_tutorial_2018.git (fetch)
origin  git@github.com:sugitk/rails_tutorial_2018.git (push)
iMac:sample_app sugimura$ 

push する先が origin だと GitHub で、heroku だと Heroku へのデプロイということですね。

次はブランチを作ります。RubyMine では先ほど見た右下のメニューから作ります。

static-pages として作ります。checkout してブランチを乗り換えます。

Controller を新しく作ります。New → Run Rails Generator から controller を選択します。

名前やアクションを入れます。

無事作れました。

チュートリアルに沿って view も作ります。適当なタイミングで commit もしておきましょう。

テストも作られています。実行するには上のメニューで環境を test: sample_app にして、実行ボタンを押します。

テストが実行されて結果が出てきます。2つのテストケースを実行して、exit code 0 ということで正常終了しています。

テストケースを書いて、実行して結果を見て、を繰り返すのも簡単です。

Section 3.4 まで終わったら、ブランチを master にマージします。

まず master を checkout します。

static-pages のブランチを選んで、Merge into Current するとマージされます。

マージされました。ブランチは消さずに残しておきます。

あとは GitHub に反映したり、Heroku へのデプロイもしてみましょう。

iMac:sample_app sugimura$ git push
iMac:sample_app sugimura$ git push heroku

Guard などの設定も追加でありますが、RubyMine では気軽にテストできるのでここではやりません。
コーディング中に自動で起動されるよりも、明示的にテストを起動したほうがやりやすいとわたしは思います。