Class: RailsForge::Generators::FormGenerator
- Inherits:
-
BaseGenerator
- Object
- BaseGenerator
- RailsForge::Generators::FormGenerator
- Defined in:
- lib/railsforge/generators/form_generator.rb
Overview
FormGenerator creates form files
Defined Under Namespace
Classes: InvalidFormNameError
Constant Summary collapse
- TEMPLATE_VERSION =
Template version
"v1"
Class Method Summary collapse
-
.generate(form_name, with_spec: true, template_version: "v1") ⇒ Object
Class method for CLI.
Instance Method Summary collapse
-
#generate ⇒ String
Generate form files.
-
#initialize(name, options = {}) ⇒ FormGenerator
constructor
Initialize the generator.
Methods inherited from BaseGenerator
#camelize, #find_rails_app_path, #underscore
Constructor Details
#initialize(name, options = {}) ⇒ FormGenerator
Initialize the generator
19 20 21 22 23 |
# File 'lib/railsforge/generators/form_generator.rb', line 19 def initialize(name, = {}) super(name, ) @template_version = [:template_version] || TEMPLATE_VERSION @with_spec = .fetch(:with_spec, true) end |
Class Method Details
.generate(form_name, with_spec: true, template_version: "v1") ⇒ Object
Class method for CLI
43 44 45 |
# File 'lib/railsforge/generators/form_generator.rb', line 43 def self.generate(form_name, with_spec: true, template_version: "v1") new(form_name, with_spec: with_spec, template_version: template_version).generate end |
Instance Method Details
#generate ⇒ String
Generate form files
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/railsforge/generators/form_generator.rb', line 27 def generate return "Not in a Rails application directory" unless @base_path validate_name!(@name) results = [] results << generate_form if @with_spec results << generate_spec end "Form '#{@name}' generated successfully!\n" + results.join("\n") end |