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