Module: WebammToRails
- Defined in:
- lib/webamm_to_rails.rb,
lib/webamm_to_rails/version.rb,
lib/webamm_to_rails/utils/format_code.rb,
lib/webamm_to_rails/sources/gemfile/gem.rb,
lib/webamm_to_rails/features/definitions.rb,
lib/webamm_to_rails/sources/models/enums.rb,
lib/webamm_to_rails/utils/format_template.rb,
lib/webamm_to_rails/sources/models/concerns.rb,
lib/webamm_to_rails/sources/views/definition.rb,
lib/webamm_to_rails/rails_boilerplate/builder.rb,
lib/webamm_to_rails/sources/models/definition.rb,
lib/webamm_to_rails/sources/routes/definition.rb,
lib/webamm_to_rails/sources/gemfile/definition.rb,
lib/webamm_to_rails/sources/migrations/columns.rb,
lib/webamm_to_rails/sources/migrations/indices.rb,
lib/webamm_to_rails/sources/models/attachments.rb,
lib/webamm_to_rails/sources/gemfile/default_set.rb,
lib/webamm_to_rails/sources/gemfile/project_set.rb,
lib/webamm_to_rails/sources/helpers/definitions.rb,
lib/webamm_to_rails/sources/models/associations.rb,
lib/webamm_to_rails/sources/migrations/definition.rb,
lib/webamm_to_rails/sources/migrations/files_list.rb,
lib/webamm_to_rails/sources/controllers/definition.rb,
lib/webamm_to_rails/sources/views/devise/presenter.rb,
lib/webamm_to_rails/sources/migrations/associations.rb,
lib/webamm_to_rails/sources/package_json/definition.rb,
lib/webamm_to_rails/sources/helpers/devise/presenter.rb,
lib/webamm_to_rails/sources/initializers/definitions.rb,
lib/webamm_to_rails/sources/views/resource/presenter.rb,
lib/webamm_to_rails/sources/views/devise/otp/presenter.rb,
lib/webamm_to_rails/sources/gemfile/sets/authentication.rb,
lib/webamm_to_rails/sources/migrations/devise/definition.rb,
lib/webamm_to_rails/features/devise_onlineable/definition.rb,
lib/webamm_to_rails/sources/controllers/actions/definition.rb,
lib/webamm_to_rails/sources/controllers/filters/definition.rb,
lib/webamm_to_rails/sources/views/devise/standard/presenter.rb,
lib/webamm_to_rails/sources/gemfile/gem_definition/presenter.rb,
lib/webamm_to_rails/sources/models/enum_definition/presenter.rb,
lib/webamm_to_rails/sources/views/devise/invitable/presenter.rb,
lib/webamm_to_rails/sources/models/class_definition/presenter.rb,
lib/webamm_to_rails/sources/models/devise_definition/presenter.rb,
lib/webamm_to_rails/sources/migrations/uuid_definition/presenter.rb,
lib/webamm_to_rails/sources/routes/resource_definition/presenter.rb,
lib/webamm_to_rails/sources/migrations/class_definition/presenter.rb,
lib/webamm_to_rails/sources/migrations/index_definition/presenter.rb,
lib/webamm_to_rails/sources/migrations/table_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/class_definition/presenter.rb,
lib/webamm_to_rails/sources/migrations/column_definition/presenter.rb,
lib/webamm_to_rails/sources/models/attachment_definition/presenter.rb,
lib/webamm_to_rails/sources/helpers/devise/qr_code_helper/presenter.rb,
lib/webamm_to_rails/sources/models/association_definition/presenter.rb,
lib/webamm_to_rails/sources/views/resource/new_definition/presenter.rb,
lib/webamm_to_rails/sources/initializers/devise_definition/presenter.rb,
lib/webamm_to_rails/sources/views/resource/edit_definition/presenter.rb,
lib/webamm_to_rails/sources/views/resource/form_definition/presenter.rb,
lib/webamm_to_rails/sources/views/resource/show_definition/presenter.rb,
lib/webamm_to_rails/sources/views/resource/index_definition/presenter.rb,
lib/webamm_to_rails/sources/routes/authentication_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/actions/new_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/actions/edit_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/actions/show_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/application_controller/definition.rb,
lib/webamm_to_rails/sources/controllers/actions/index_definition/presenter.rb,
lib/webamm_to_rails/sources/migrations/active_storage_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/actions/create_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/actions/update_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/filters/devise_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/actions/destroy_definition/presenter.rb,
lib/webamm_to_rails/features/devise_onlineable/definitions/connection/presenter.rb,
lib/webamm_to_rails/sources/controllers/actions/strong_parameters_definition/presenter.rb,
lib/webamm_to_rails/sources/controllers/application_controller/authentication/devise_groups/presenter.rb,
lib/webamm_to_rails/sources/controllers/application_controller/authentication/devise_groups_definition/presenter.rb
Defined Under Namespace
Modules: Features, RailsBoilerplate, Sources, Utils
Constant Summary collapse
- VERSION =
'7.0.1'
Class Method Summary collapse
Class Method Details
.generate(waml_json) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/webamm_to_rails.rb', line 24 def generate(waml_json) files = ::WebammToRails::RailsBoilerplate::Builder.call waml_definition = ::Webamm::Definition.new(waml_json.deep_symbolize_keys) # Models waml_definition.database.schema.each do |table_schema| model_code = ::WebammToRails::Sources::Models::Definition.new( table_definition: table_schema, waml_definition: waml_definition ).render files << { path: "app/models/#{table_schema.table.singularize}.rb", content: model_code } end # Controllers waml_definition.database.crud.each do |crud_definition| controller_code = ::WebammToRails::Sources::Controllers::Definition.new( crud_definition: crud_definition, waml_definition: waml_definition ).render files << { path: "app/controllers/#{crud_definition.table.pluralize}_controller.rb", content: controller_code } end files << { path: 'app/controllers/application_controller.rb', content: ::WebammToRails::Sources::Controllers::ApplicationController::Definition.new( waml_definition: waml_definition ).render } # package.json files << { path: 'package.json', content: ::WebammToRails::Sources::PackageJson::Definition.new( waml_definition: waml_definition ).render } # Gemfile files << { path: 'Gemfile', content: ::WebammToRails::Sources::Gemfile::Definition.new( waml_definition: waml_definition ).render } # Routes files << { path: 'config/routes.rb', content: ::WebammToRails::Sources::Routes::Definition.new( waml_definition: waml_definition ).render } # Initializers files |= ::WebammToRails::Sources::Initializers::Definitions.new( waml_definition: waml_definition ).collection # Migrations files |= ::WebammToRails::Sources::Migrations::FilesList.new( waml_definition: waml_definition, database_tables: waml_definition.database.schema ).collection # Views files |= ::WebammToRails::Sources::Views::Definition.new( waml_definition: waml_definition ).collection # Helpers files |= ::WebammToRails::Sources::Helpers::Definitions.new( waml_definition: waml_definition ).collection # Features files |= ::WebammToRails::Features::Definitions.new( waml_definition: waml_definition ).collection files end |