Sha256: 8ecab77be33d6f975974fa0fd144f57fc25631e5d065653667887bd8a12874e2
Contents?: true
Size: 927 Bytes
Versions: 6
Compression:
Stored size: 927 Bytes
Contents
require 'poms/timestamp' module Poms module Api # Map search parameters to POMS specific format module Search TIME_PARAMS = { starts_at: 'begin', ends_at: 'end' }.freeze module_function # Helper function for returning and empty body. def empty {} end def build(options) return {} if options.empty? all = options.map do |key, value| case key when :starts_at, :ends_at time_params(key, value) when :type { 'searches' => { 'types' => value } } end end all.reduce(&:deep_merge) end def time_params(key, value) { 'searches' => { 'sortDates' => { TIME_PARAMS[key] => Timestamp.to_unix_ms(value) } } } end private_class_method :time_params end end end
Version data entries
6 entries across 6 versions & 1 rubygems