class ActivePivot::Api::Filter

Public Class Methods

new(params = {}) click to toggle source
# File lib/active_pivot/api/filter.rb, line 4
def initialize(params = {})
  @params = params
end

Public Instance Methods

merge(new_params) click to toggle source
# File lib/active_pivot/api/filter.rb, line 12
def merge(new_params)
  @params = @params.merge(new_params)
  self
end
to_params() click to toggle source
# File lib/active_pivot/api/filter.rb, line 8
def to_params
  {filter: filter_string}
end

Private Instance Methods

filter_string() click to toggle source
# File lib/active_pivot/api/filter.rb, line 19
def filter_string
  @params.map do |key, value|
    [key, sanitize_value(value)].join(":")
  end.join(" ")
end
sanitize_value(value) click to toggle source
# File lib/active_pivot/api/filter.rb, line 25
def sanitize_value(value)
  case value
  when Date, Time then value.iso8601
  when Array then value.join(",")
  else value
  end
end