class Apiphobic::Resource::Processors::Indexing

Attributes

parameters[RW]
resource[RW]

Public Class Methods

meta(*_attrs) click to toggle source
# File lib/apiphobic/resource/processors/indexing.rb, line 23
def self.meta(*_attrs)
  {}
end
new(resource, parameters = {}) click to toggle source

rubocop:disable Style/OptionHash

# File lib/apiphobic/resource/processors/indexing.rb, line 13
def initialize(resource, parameters = {})
  self.resource   = resource
  self.parameters = Parameters::Index.new(parameters['filter'] || {})
end
processed(*attrs) click to toggle source

rubocop:enable Style/OptionHash

# File lib/apiphobic/resource/processors/indexing.rb, line 19
def self.processed(*attrs)
  new(*attrs).processed
end

Public Instance Methods

processed() click to toggle source
# File lib/apiphobic/resource/processors/indexing.rb, line 27
def processed
  return resource unless parameters.present? || force_query

  resource.for_query(parameters.query || Parameters::Index::DEFAULT_QUERY)
end

Private Instance Methods

force_query() click to toggle source
# File lib/apiphobic/resource/processors/indexing.rb, line 35
def force_query
  resource.class.name.include? 'Index'
end