rails プロジェクトでスタートダッシュを決める
DESCRIPTION
広島Ruby勉強会 #033 の LT 資料です。 https://github.com/hiroshimarb/hiroshimarb.github.com/wiki/2013年8月の活動 LT 資料をつくるのに調べかとこと http://blog.eiel.info/blog/2013/08/03/rails-new-template/TRANSCRIPT
![Page 1: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/1.jpg)
Rails プロジェクトでスタートダッシュを決める
2013-08-03 広島Ruby勉強会 #033
13年8月3日土曜日
![Page 2: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/2.jpg)
対象者
• rails してる人•よく rails new する人
13年8月3日土曜日
![Page 3: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/3.jpg)
こんな人はごめんなさい
13年8月3日土曜日
![Page 4: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/4.jpg)
`rails new` なんかしたことねーよ
13年8月3日土曜日
![Page 5: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/5.jpg)
Rails プロジェクトをはじめるときいつも同じことをしてませんか?
13年8月3日土曜日
![Page 6: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/6.jpg)
プロジェクトの
はじめにありがちなこと
13年8月3日土曜日
![Page 7: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/7.jpg)
• rspec インストールする
• rspec 設定する
• cucumber インストールする
• pry インストールする
13年8月3日土曜日
![Page 8: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/8.jpg)
• 各gem の Github 見にいって設定
• 別のプロジェクトからコピペ
13年8月3日土曜日
![Page 9: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/9.jpg)
めんどくさい
13年8月3日土曜日
![Page 10: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/10.jpg)
自動化したい
13年8月3日土曜日
![Page 11: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/11.jpg)
--template, -m
13年8月3日土曜日
![Page 12: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/12.jpg)
rails new --templateってのがあるらしい
13年8月3日土曜日
![Page 13: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/13.jpg)
• URL も可能• rails new の bundle install の前に•処理を追加できる•DSL を使ってかく
rails new --template ファイル名
13年8月3日土曜日
![Page 14: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/14.jpg)
できること
• rails generate でできること•ファイル作成• bundle install• Gemfile 編集• rake 実行
13年8月3日土曜日
![Page 15: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/15.jpg)
自分で書きたくない場合
13年8月3日土曜日
![Page 16: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/16.jpg)
Rails Composerhttp://railsapps.github.io/rails-composer/
$ rails new myapp \ -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb
13年8月3日土曜日
![Page 17: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/17.jpg)
質問に答えていくだけ
13年8月3日土曜日
![Page 18: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/18.jpg)
試してみました
13年8月3日土曜日
![Page 19: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/19.jpg)
試してみた
• rspec インストール• pry-byebug インストール•コミット済み• rails g scaffold
13年8月3日土曜日
![Page 20: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/20.jpg)
rspec_and_pry_template.rbhttps://gist.github.com/eiel/6132727
13年8月3日土曜日
![Page 21: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/21.jpg)
Gemfile 編集
gem_group :development, :test do gem 'rspec-rails', '~> 2.0' gem 'pry-rails' gem 'pry-byebug'end
13年8月3日土曜日
![Page 22: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/22.jpg)
bundle install
run_bundle
13年8月3日土曜日
![Page 23: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/23.jpg)
initial commit
git :initgit add: '.'git commit: "-m 'initial commit'"
13年8月3日土曜日
![Page 24: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/24.jpg)
rails g rspec:install
generate 'rspec:install'
13年8月3日土曜日
![Page 25: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/25.jpg)
second commit
git add: '.'git commit: "-m 'rspec install'"
13年8月3日土曜日
![Page 26: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/26.jpg)
rails g scaffold
generate :scaffold, 'user name:string'
13年8月3日土曜日
![Page 27: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/27.jpg)
試してみる
$ rails new myapp -m $ cd myapp $ rake db:migrate$ rake spec# スペックの実行
$ rails c# pry が起動する
http://goo.gl/py8KSt
https://gist.github.com/eiel/6132727/raw/f99ffc17f1dc399518704966033d53da942167cd/rspec_and_pry_template.rb
13年8月3日土曜日
![Page 28: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/28.jpg)
もっと具体的な話
13年8月3日土曜日
![Page 29: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/29.jpg)
文献• Rails Application Templates• http://guides.rubyonrails.org/rails_application_templates.html
• Creating and Customizing Rails Generators & Templates
• http://guides.rubyonrails.org/generators.htm
13年8月3日土曜日
![Page 30: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/30.jpg)
試したときのメモ
• http://blog.eiel.info/blog/2013/08/03/rails-new-template/
13年8月3日土曜日
![Page 31: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/31.jpg)
知ってると良さそうなこと
• Rails::Generators::AppGenerator•のインスタンスのコンテキストで実行• Thor というライブラリがベース• bundler や vagrant などでも利用されてる
13年8月3日土曜日
![Page 32: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/32.jpg)
知ってると良さそうなこと
• Generator と共通する親クラス• Rails::Generators::Base• Rails::AppBuilder• AppGenerator が生成して、利用する• ::AppBuilder があればこれを利用する
13年8月3日土曜日
![Page 33: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/33.jpg)
まとめ
13年8月3日土曜日
![Page 34: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/34.jpg)
• rails ですぐに開発をはじめられる•Generator と共通の機能を使う• Thor というライブラリに依存してる
13年8月3日土曜日
![Page 35: Rails プロジェクトでスタートダッシュを決める](https://reader033.vdocuments.mx/reader033/viewer/2022052410/5555a9f4d8b42a52568b4877/html5/thumbnails/35.jpg)
ご清聴ありがとうございます
13年8月3日土曜日