class Shaf::Generator::Model
Public Instance Methods
call()
click to toggle source
# File lib/shaf/generator/model.rb, line 8 def call create_model create_migration create_serializer create_forms end
create_forms()
click to toggle source
# File lib/shaf/generator/model.rb, line 59 def create_forms form_args = %W(forms #{model_name}) + args[1..-1] Generator::Factory.create(*form_args, **options).call end
create_migration()
click to toggle source
# File lib/shaf/generator/model.rb, line 49 def create_migration migration_args = %W(create table #{table_name}) + args[1..-1] Migration::Generator.new(*migration_args).call end
create_model()
click to toggle source
# File lib/shaf/generator/model.rb, line 38 def create_model content = render(template, opts) write_output(target, content) end
create_serializer()
click to toggle source
# File lib/shaf/generator/model.rb, line 54 def create_serializer serializer_args = %W(serializer #{model_name}) + args[1..-1] Generator::Factory.create(*serializer_args, **options).call end
model_class_name()
click to toggle source
# File lib/shaf/generator/model.rb, line 22 def model_class_name Utils.model_name(model_name) end
model_name()
click to toggle source
# File lib/shaf/generator/model.rb, line 15 def model_name n = args.first || '' return n unless n.empty? raise Command::ArgumentError, 'Please provide a model name when using the model generator!' end
opts()
click to toggle source
# File lib/shaf/generator/model.rb, line 43 def opts { class_name: model_class_name, } end
table_name()
click to toggle source
# File lib/shaf/generator/model.rb, line 26 def table_name Utils.pluralize model_name end
target()
click to toggle source
# File lib/shaf/generator/model.rb, line 34 def target "api/models/#{model_name}.rb" end
template()
click to toggle source
# File lib/shaf/generator/model.rb, line 30 def template 'api/model.rb' end