class Get::Builders::QueryBuilder
Attributes
field[R]
Public Class Methods
new(params = nil, options = {})
click to toggle source
Calls superclass method
Get::Builders::BaseBuilder::new
# File lib/get/builders/query_builder.rb, line 25 def initialize(params = nil, options = {}) @params, @options = params, options super(query_params) end
Private Instance Methods
class_args()
click to toggle source
# File lib/get/builders/query_builder.rb, line 6 def class_args { key: @key, collection: @result_entity.plural?, result_entity: @result_entity.singularize.symbolize, store: Get.adapter.context_for_entity(@result_entity.singularize) } end
conditions()
click to toggle source
find_first
# File lib/get/builders/query_builder.rb, line 41 def conditions return { conditions: @params } unless self.class.field { conditions: { self.class.field => @params } } end
query_action()
click to toggle source
# File lib/get/builders/query_builder.rb, line 36 def query_action self.class.collection ? :find_all : :find_first! end
query_params()
click to toggle source
# File lib/get/builders/query_builder.rb, line 32 def query_params { query_action => conditions.merge(@options) } end
template_class(args)
click to toggle source
# File lib/get/builders/query_builder.rb, line 15 def template_class(args) Class.new(::Get::Db) do include Get class << self attr_reader :field end @field, @entity, @collection, @store = args[:key], args[:result_entity], args[:collection], args[:store] def initialize(params = nil, options = {}) @params, @options = params, options super(query_params) end private def query_params { query_action => conditions.merge(@options) } end def query_action self.class.collection ? :find_all : :find_first! end # find_first def conditions return { conditions: @params } unless self.class.field { conditions: { self.class.field => @params } } end end end