class StatusQuerier::Querier::Query

Public Instance Methods

combine_scopes(model_class, statuses, with = :or) click to toggle source
# File lib/status_querier/querier.rb, line 38
def combine_scopes(model_class, statuses, with = :or)
  statuses.map { |status| with_resource_status(model_class, status) }.reduce(with)
end
with_resource_status(model_class, status) click to toggle source
# File lib/status_querier/querier.rb, line 42
def with_resource_status(model_class, status)
  unless StatusQuerier::SUPPORTED_STATUSES.include?(status)
    raise Error::InvalidStatus, "Status needs to be #{StatusQuerier::SUPPORTED_STATUSES.join(', ')}"
  end

  unless model_class.respond_to?(status)
    raise ::NotImplementedError
  end

  model_class.send(status)
end