class Multicolor::REST::SearchBuilder

Attributes

keys[R]
params[R]

Public Class Methods

new(params, *keys) click to toggle source
# File lib/multicolor/rest/search_builder.rb, line 6
def initialize(params, *keys)
  @params = params
  @keys = keys.any? ? allowed_params & keys : allowed_params
end

Public Instance Methods

request() click to toggle source
# File lib/multicolor/rest/search_builder.rb, line 11
def request
  built
    .merge(Multicolor::Util.build_colors(built.delete(:colors)))
    .merge(return_metadata: built.delete(:return_metadata).to_json) # son of a bitch
    .delete_if{ |k,v| v.nil? }
end

Private Instance Methods

allowed_params() click to toggle source
# File lib/multicolor/rest/search_builder.rb, line 24
def allowed_params
  [
   :filepath,
   :colors,
   :weights,
   :ignore_background,
   :ignore_interior_background,
   :return_metadata,
   :metadata,
   :min_score,
   :offset,
   :limit
  ]
end
built() click to toggle source
# File lib/multicolor/rest/search_builder.rb, line 20
def built
  @built ||= params.slice(*keys)
end