Class: Infold::ModelGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- Infold::ModelGenerator
- Defined in:
- lib/generators/infold/model_generator.rb
Instance Method Summary collapse
Instance Method Details
#create_association_model_file ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/generators/infold/model_generator.rb', line 23 def create_association_model_file @resource.associations&. select { |as| !as.belongs_to? && as.field_group.has_association_model? }&.each do |association| @writer = ModelWriter.new(association) template "model.rb", Rails.root.join("app/models/admin", "#{association.model_name(:snake)}.rb"), force: true end end |
#create_model_file ⇒ Object
18 19 20 21 |
# File 'lib/generators/infold/model_generator.rb', line 18 def create_model_file @writer = ModelWriter.new(@resource) template "model.rb", Rails.root.join("app/models/admin", "#{name.underscore.singularize}.rb"), force: true end |
#setup ⇒ Object
11 12 13 14 15 16 |
# File 'lib/generators/infold/model_generator.rb', line 11 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) end |