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