Class: Infold::Views::FormGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- Infold::Views::FormGenerator
- Defined in:
- lib/generators/infold/views/form_generator.rb
Instance Method Summary collapse
- #association_form_file ⇒ Object
- #edit_file ⇒ Object
- #form_file ⇒ Object
- #form_turbo_stream_file ⇒ Object
- #new_file ⇒ Object
- #setup ⇒ Object
Instance Method Details
#association_form_file ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/generators/infold/views/form_generator.rb', line 40 def association_form_file @writer.form_fields.each do |field| if field.association&.has_many? || field.association&.has_one? @association_field = field template "views/_form_association.haml", Rails.root.join("app/views/admin/#{name.underscore.pluralize}/_form_#{field.name(:single)}.html.haml"), force: true end end end |
#edit_file ⇒ Object
25 26 27 28 |
# File 'lib/generators/infold/views/form_generator.rb', line 25 def edit_file template "views/edit.html+turbo_frame.haml", Rails.root.join("app/views/admin/#{name.underscore.pluralize}/edit.html+turbo_frame.haml"), force: true end |
#form_file ⇒ Object
30 31 32 33 |
# File 'lib/generators/infold/views/form_generator.rb', line 30 def form_file template "views/_form.haml", Rails.root.join("app/views/admin/#{name.underscore.pluralize}/_form.html.haml"), force: true end |
#form_turbo_stream_file ⇒ Object
35 36 37 38 |
# File 'lib/generators/infold/views/form_generator.rb', line 35 def form_turbo_stream_file template "views/form.turbo_stream.haml", Rails.root.join("app/views/admin/#{name.underscore.pluralize}/form.turbo_stream.haml"), force: true end |
#new_file ⇒ Object
20 21 22 23 |
# File 'lib/generators/infold/views/form_generator.rb', line 20 def new_file template "views/new.html+turbo_frame.haml", Rails.root.join("app/views/admin/#{name.underscore.pluralize}/new.html+turbo_frame.haml"), force: true end |
#setup ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/generators/infold/views/form_generator.rb', line 12 def setup resource_name = name.camelize.singularize db_schema = DbSchema.new(File.read(Rails.root.join('db/schema.rb'))) yaml = YAML.load_file(Rails.root.join("config/infold/#{resource_name.underscore}.yml")) resource = YamlReader.generate_resource(resource_name, yaml, db_schema) @writer = FormWriter.new(resource) end |