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.



213
214
215
# File 'lib/ecoportal/api/graphql/input/search_conf.rb', line 213

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

Instance Method Details

#substitute(subs) ⇒ Object



221
222
223
# File 'lib/ecoportal/api/graphql/input/search_conf.rb', line 221

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

#to_hObject



217
218
219
# File 'lib/ecoportal/api/graphql/input/search_conf.rb', line 217

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