class HecksApplication::QueryRunner

Call queries by name

Public Class Methods

new(query_name:, application:, module_name:, args:) click to toggle source
# File lib/queries/query_runner.rb, line 5
def initialize(query_name:, application:, module_name:, args:)
  @query_name = query_name
  @application = application
  @module_name = module_name
  @args = args
end

Public Instance Methods

call() click to toggle source
# File lib/queries/query_runner.rb, line 12
def call()
  fetch.new(repository: repository).call(@args)
end

Private Instance Methods

fetch() click to toggle source
# File lib/queries/query_runner.rb, line 18
def fetch
  Queries.const_get(@query_name.to_s.camelcase)
end
repository() click to toggle source
# File lib/queries/query_runner.rb, line 22
def repository
  @application.database[@module_name]
end