ジェネレータとテンプレート
参考:
Rails::Generators | Ruby on Rails API [Official]
Rails::Generators::Base | Ruby on Rails API [Official]
Rails::Generators::Actions | Ruby on Rails API [Official]
Rails::Generators::Migration | Ruby on Rails [Official]
設定
参考:
generators – Rails::Engine::Configuration | Ruby on Rails API [Official]
ジェネレータを作成する
参考:
Rails の GeneratorGenerator を使ってみる – Qiita
rails でカスタム generator 作る話 | scramble cadenza
自作の migraion ファイルを生成する – Qiita
Rails のカスタム Generator を自分で作る | 超平面あのにのに
いまさら聞けない Rails のカスタム generator の作成方法 | 高尾宏治日記 on はてな
Creating Your Own Scaffold Generator in Rails | Nopio
Rake タスクから generator を呼び出す
参考:
invoke – Rails::Generators | Ruby on Rails API [Official]
invoke – rails/generators.rb at v5.2.1 · rails/rails – GitHub
How to invoke generators from code? – Stack Overflow
how to invoke rails migration generator programatically? – Stack Overflow
カスタマイズ
プロジェクトのディレクトリにテンプレートをコピーする。
$ rails app:templates:copy
参考:
Rails の Scaffold のテンプレートをカスタマイズする – Qiita
Rails の Scaffold のテンプレートを変更する方法 – Qiita
Rails 本体の、generator の generator を変更したい!! | 高尾宏治日記 on はてな
scaffold_controller generator doesn’t apply model attributes to views – Stack Overflow
テンプレートを配置するパス
参考:
Generator custom templates with Engine – Stack Overflow
Thor
参考:
erikhuda/thor: Thor is a toolkit for building powerful command-line interfaces – GitHub
Documentation for thor | RubyDoc.info
Class: Thor::Group — Documentation for thor | RubyDoc.info
Module: Thor::Actions — Documentation for thor | RubyDoc.info
Rails::Generators::Base
参考:
Rails::Generators::Base | Ruby on Rails API [Official]
rails/base.rb at 5-2-stable · rails/rails – GitHub
Rails::Generators::Actions
参考:
Rails::Generators::Actions | Ruby on Rails API [Official]
gem
参考:
gem – Rails::Generators::Actions | Ruby on Rails API [Official]
add_source
参考:
add_source – Rails::Generators::Actions | Ruby onRails API [Official]
generate
参考:
generate – Rails::Generators::Actions | Ruby on Rails API [Official]
create_file
参考:
Method: Thor::Actions#create_file — Documentation for thor | RubyDoc.info
thor/create_file.rb at v0.20.0 · erikhuda/thor – GitHub
template
参考:
thor gem でテンプレートを利用してファイルを生成する – Qiita
Thor を使って簡単に「テンプレート」機能を実装する – Qiita
Method: Thor::Actions#template — Documentation for thor | RubyDoc.info
Generators · erikhuda/thor Wiki – GitHub
Gem templates with Thor | Benjamin Fleischer
find_in_source_paths – thor/actions.rb at v0.20.3 · erikhuda/thor – GitHub
How to make Thor find templates for system installed .thor files? – Stack Overflow
namespace
ジェネレータを実行している名前空間を取得する。
参考:
namespace – rails/base.rb at v5.2.3 · rails/rails – GitHub
self.namespace – rails/base.rb at v5.2.3 · rails/rails – GitHub
namespace – rails/generators.rb at v5.2.3 · rails/rails – GitHub
application_name
参考:
application_name – Rails::Generators::NamedBase | Ruby on Rails API [Official]
How to get Rails app_name in my edge file & rake generator – Stack Overflow
GeneratedAttribute
参考:
rails/generated_attribute.rb at v5.2.3 · rails/rails – GitHub
ScaffoldGenerator
参考:
rails/scaffold_generator.rb at v5.2.3 · rails/rails – GitHub
parse_attributes! – rails/named_base.rb at v5.2.3 · rails/rails – GitHub
attributes_hash – rails/scaffold_generator.rb at v5.2.3 · rails/rails – GitHub
モデルのテンプレート
lib/templates/active_record/model/model.rb.tt
を作成して編集する。
参考:
Override the default Rails model template – Stack Overflow
rails/model_generator.rb at 5-2-stable · rails/rails – GitHub
rails/model.rb.tt at 5-2-stable · rails/rails – GitHub
コントローラーテストのテンプレート
参考:
rails/functional_test.rb.tt (scaffold) at 5-2-stable · rails/rails – GitHub
rails/functional_test.rb.tt (controller) at 5-2-stable · rails/rails – GitHub
システムテストのテンプレート
参考:
rails/system_test.rb.tt (scaffold) at 5-2-stable · rails/rails – GitHub
rails/system_test.rb.tt (system) at master · rails/rails – GitHub
password_digest
参考:
password_digest? – rails/generated_attribute.rb at v5.2.1 · rails/rails – GitHub
argument
参考:
Method: Thor::Base::ClassMethods#argument — Documentation for thor | RubyDoc.info
Rails::Generators::AppBase
参考:
rails/app_base.rb at v5.2.1 · rails/rails – GitHub
Rails::Generators::PluginGenerator
参考: