Sha256: 4c3efc7292d095de543b0ddd926a967a8a4ba12160c3df954763dd5a70b48f2e
Contents?: true
Size: 1004 Bytes
Versions: 2
Compression:
Stored size: 1004 Bytes
Contents
# frozen_string_literal: true class DynamicScaffoldGenerator < Rails::Generators::Base source_root File.expand_path('templates', __dir__) argument :path, type: 'string', required: true argument :model, type: 'string', required: false class_option :content_for, type: :string class_option :controller_base, type: :string, default: 'ApplicationController' def init @namespases = path.split('/') @plural_model_name = @namespases.pop.camelize @class_scope = @namespases.map(&:camelize).join('::') @model_name = model || @plural_model_name.singularize @model_name = @model_name.camelize @model = @model_name.constantize @content_for = options['content_for'] @controller_base = options['controller_base'] end def create_controllers template 'controller.erb', "app/controllers/#{path}_controller.rb" end def create_views %i[edit index new].each do |file| template "views/#{file}.erb", "app/views/#{path}/#{file}.html.erb" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dynamic_scaffold-2.0.1 | lib/generators/dynamic_scaffold/dynamic_scaffold_generator.rb |
dynamic_scaffold-2.0.0 | lib/generators/dynamic_scaffold/dynamic_scaffold_generator.rb |