class OpenAPIRest::Operations::Filter

Rest filter operation

Public Class Methods

new(query_builder) click to toggle source
# File lib/openapi_rest/operations/filter.rb, line 7
def initialize(query_builder)
  @query_builder = query_builder
end

Public Instance Methods

execute() click to toggle source
# File lib/openapi_rest/operations/filter.rb, line 11
def execute
  return if @query_builder.query.count.zero?

  unlocked_params = ActiveSupport::HashWithIndifferentAccess.new(@query_builder.query)

  @query_builder.api_model.model = if @query_builder.single?
                                     @query_builder.api_model.model.find_by(unlocked_params)
                                   else
                                     @query_builder.api_model.model.where(unlocked_params)
                                   end
end