class Garage::NestedFieldQuery::Selector
Public Class Methods
build(fields)
click to toggle source
includes eager loading
# File lib/garage/nested_field_query.rb, line 142 def self.build(fields) if fields.present? build_parsed(Parser.parse(fields)) else NestedFieldQuery::DefaultSelector.new end end
build_parsed(fields)
click to toggle source
# File lib/garage/nested_field_query.rb, line 150 def self.build_parsed(fields) if fields.key? '*' FullSelector.new else self.new(fields) end end
new(fields = {})
click to toggle source
# File lib/garage/nested_field_query.rb, line 158 def initialize(fields = {}) @fields = fields end
Public Instance Methods
[](name)
click to toggle source
# File lib/garage/nested_field_query.rb, line 162 def [](name) if @fields[name].nil? DefaultSelector.new else Selector.build_parsed(@fields[name]) end end
canonical()
click to toggle source
# File lib/garage/nested_field_query.rb, line 170 def canonical Builder.build(@fields) end
excludes?(field)
click to toggle source
# File lib/garage/nested_field_query.rb, line 178 def excludes?(field) !@fields.has_key?('__default__') && !@fields.has_key?(field) end
includes?(field)
click to toggle source
# File lib/garage/nested_field_query.rb, line 174 def includes?(field) @fields.has_key?(field) end