Sha256: 8e9889d6b75cce1f118c08e40e7fc1b6d0aaee933eaeac4fef3bf90fb8f93148
Contents?: true
Size: 1.81 KB
Versions: 2
Compression:
Stored size: 1.81 KB
Contents
require_relative 'class_definition/presenter' require_relative 'devise_definition/presenter' require_relative 'enums' require_relative 'associations' require_relative 'concerns' require_relative 'attachments' module WebammToRails module Sources module Models class Definition def initialize(table_definition:, waml_definition:) @table_definition = table_definition @waml_definition = waml_definition end def render template_path = File.expand_path('template.erb', __dir__) template_content = File.read(template_path) raw_content = ERB.new(template_content, trim_mode: '-').result(instance_eval { binding }) ::WebammToRails::Utils::FormatCode.call(raw_content) end private def class_definition ::WebammToRails::Sources::Models::ClassDefinition::Presenter.new(table_name: table_name).render end def associations ::WebammToRails::Sources::Models::Associations.new(table_definition: @table_definition, waml_definition: @waml_definition).collection end def enums ::WebammToRails::Sources::Models::Enums.new(table_definition: @table_definition).collection end def concerns ::WebammToRails::Sources::Models::Concerns.new(table_definition: @table_definition, waml_definition: @waml_definition).collection end def table_name @table_definition.table end def devise_definition ::WebammToRails::Sources::Models::DeviseDefinition::Presenter.new(table_name: table_name, waml_definition: @waml_definition).render end def attachments ::WebammToRails::Sources::Models::Attachments.new(table_definition: @table_definition).collection end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
webamm_to_rails-7.0.1 | lib/webamm_to_rails/sources/models/definition.rb |
webamm_to_rails-7.0.0 | lib/webamm_to_rails/sources/models/definition.rb |