class Rails::Generators::QueryGenerator
Public Instance Methods
create_query_definitions_file()
click to toggle source
# File lib/rails/generators/query/query_generator.rb, line 20 def create_query_definitions_file template "query_definitions.rb", File.join("app/queries/definitions", class_path, "#{file_name}_query_definitions.rb") end
create_query_file()
click to toggle source
# File lib/rails/generators/query/query_generator.rb, line 16 def create_query_file template "query.rb", File.join("app/queries", class_path, "#{file_name}_query.rb") end
create_query_test_file()
click to toggle source
# File lib/rails/generators/query/query_generator.rb, line 24 def create_query_test_file unless options[:skip_unit_test] template "unit_test.rb", File.join("test/queries", class_path, "#{file_name}_query_test.rb") end end
Private Instance Methods
assign_names!(name)
click to toggle source
Calls superclass method
# File lib/rails/generators/query/query_generator.rb, line 31 def assign_names!(name) super(name) @method_options = options.slice("defines", "queries", "lambdas") @query_methods = @method_options.map { |key, val| val }.flatten end
module_definitions_namespacing(&block)
click to toggle source
# File lib/rails/generators/query/query_generator.rb, line 62 def module_definitions_namespacing(&block) content = capture(&block) content = namespaced_content(content) if namespaced_query? definitions_namespace_content = "module Definitions\n#{indent(content)}\nend" concat(definitions_namespace_content) end
module_namespacing(&block)
click to toggle source
# File lib/rails/generators/query/query_generator.rb, line 56 def module_namespacing(&block) content = capture(&block) content = namespaced_content(content) if namespaced_query? concat(content) end
namespaced_content(content)
click to toggle source
# File lib/rails/generators/query/query_generator.rb, line 49 def namespaced_content(content) namespaced_names.reverse_each do |namespace_name| content = "module #{namespace_name.camelize}\n#{indent(content)}\nend" end content end
namespaced_names()
click to toggle source
# File lib/rails/generators/query/query_generator.rb, line 45 def namespaced_names class_path end
namespaced_query?()
click to toggle source
# File lib/rails/generators/query/query_generator.rb, line 41 def namespaced_query? !class_path.empty? end
query_class_name()
click to toggle source
# File lib/rails/generators/query/query_generator.rb, line 37 def query_class_name "#{file_name.camelize}Query" end