Sha256: 78c5606e1ebd3084ab42e2a1bc9e0cbb80c2065436912bf6152aa0d4fa5d0085
Contents?: true
Size: 810 Bytes
Versions: 6
Compression:
Stored size: 810 Bytes
Contents
require 'rails/generators/named_base' class FormGenerator < Rails::Generators::NamedBase source_root File.expand_path('templates', __dir__) # check_class_collision def generate_form template 'form.rb', File.join('app/lib/forms', class_path, "#{file_name}.rb") end def generate_form_spec template 'form_spec.rb', File.join('spec/lib/forms', class_path, "#{file_name}_spec.rb") end private def module_namespacing(&block) content = capture(&block) modules.each do |mod| content = wrap_with_module(content, mod) end concat(content) end def modules @modules ||= ['Forms'] + name.split('/')[0..-2].map(&:to_s).map(&:camelcase) end def wrap_with_module(content, mod) content = indent(content).chomp "module #{mod}\n#{content}\nend\n" end end
Version data entries
6 entries across 6 versions & 1 rubygems