ジェネレータとテンプレート

参考:

ジェネレータとテンプレート入門 | Rails ガイド

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

Thor [Official]

erikhuda/thor Wiki – 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

参考:

rails/plugin_generator.rb at v5.2.1 · rails/rails – GitHub

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA