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 では気軽にテストできるのでここではやりません。
コーディング中に自動で起動されるよりも、明示的にテストを起動したほうがやりやすいとわたしは思います。