class Shaf::Generator::Forms
Public Instance Methods
call()
click to toggle source
# File lib/shaf/generator/forms.rb, line 7 def call create_forms end
class_name()
click to toggle source
# File lib/shaf/generator/forms.rb, line 22 def class_name "#{model_class_name}Forms" end
create_forms()
click to toggle source
# File lib/shaf/generator/forms.rb, line 34 def create_forms content = render(template, opts) # FIXME: Append if file exists! write_output(target, content) end
fields()
click to toggle source
# File lib/shaf/generator/forms.rb, line 49 def fields args[1..-1].map do |f| (name, type, label) = f.split(':') label_str = label ? %(, label: "#{label}") : '' format 'field :%s, type: "%s"%s' % [name, rewrite(type), label_str] end end
model_class_name()
click to toggle source
# File lib/shaf/generator/forms.rb, line 18 def model_class_name Utils.model_name(model_name) end
model_name()
click to toggle source
# File lib/shaf/generator/forms.rb, line 11 def model_name n = args.first || '' return n unless n.empty? raise Command::ArgumentError, 'Please provide a model name when using the forms generator!' end
opts()
click to toggle source
# File lib/shaf/generator/forms.rb, line 40 def opts { model_name: model_name, class_name: class_name, model_class_name: model_class_name, fields: fields } end
rewrite(type)
click to toggle source
# File lib/shaf/generator/forms.rb, line 57 def rewrite(type) case type when /foreign_key/ 'integer' when NilClass 'string' else type end end
target()
click to toggle source
# File lib/shaf/generator/forms.rb, line 30 def target "api/forms/#{model_name}_forms.rb" end
template()
click to toggle source
# File lib/shaf/generator/forms.rb, line 26 def template 'api/forms.rb' end