Class: Layered::Resource::Generators::ColumnGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Layered::Resource::Generators::ColumnGenerator
- Defined in:
- lib/generators/layered/resource/column/column_generator.rb
Overview
Ejects a built-in column partial into the host app, or scaffolds a custom one. Lookup order at runtime is per-resource → host-wide → gem default, so ejected partials override the gem's built-ins.
rails g layered:resource:column badge # → app/views/layered/resource/columns/_badge.html.erb
rails g layered:resource:column badge questions # → app/views/layered/questions/columns/_badge.html.erb
rails g layered:resource:column priority_badge # → scaffold a new type (host-wide)
Constant Summary collapse
- BUILT_INS =
%w[text datetime badge boolean].freeze
Instance Method Summary collapse
Instance Method Details
#create_partial ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/generators/layered/resource/column/column_generator.rb', line 24 def create_partial if BUILT_INS.include?(type) copy_file "_#{type}.html.erb", target_path else create_file target_path, scaffold_template end end |
#show_next_steps ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/generators/layered/resource/column/column_generator.rb', line 32 def show_next_steps say "" say "Edit #{target_path} to customise rendering." say "" say "Use it from a resource with:" say " columns [{ attribute: :something, as: :#{type} }]" say "" end |