Class: Ecoportal::API::GraphQL::Input::SearchConf::And

Inherits:
Object
  • Object
show all
Includes:
Composable
Defined in:
lib/ecoportal/api/graphql/input/search_conf.rb

Overview


Filter: and_filter (explicit AND group; top-level filters array is implicit AND)

Constant Summary collapse

OPERATION =
'and_filter'.freeze

Instance Method Summary collapse

Methods included from Composable

#&, #|

Constructor Details

#initialize(*filters) ⇒ And

Returns a new instance of And.



156
157
158
# File 'lib/ecoportal/api/graphql/input/search_conf.rb', line 156

def initialize(*filters)
  @filters = filters.flatten
end

Instance Method Details

#substitute(subs) ⇒ Object



164
165
166
# File 'lib/ecoportal/api/graphql/input/search_conf.rb', line 164

def substitute(subs)
  self.class.new(*@filters.map { |f| f.respond_to?(:substitute) ? f.substitute(subs) : f })
end

#to_hObject



160
161
162
# File 'lib/ecoportal/api/graphql/input/search_conf.rb', line 160

def to_h
  { operation: OPERATION, params: { filters: @filters.map(&:to_h) } }
end