Sha256: 29f545ffd9b30d364f0ee73f5355c00fa50fe6b0c0dd19415fdc70556d35fc33
Contents?: true
Size: 741 Bytes
Versions: 2
Compression:
Stored size: 741 Bytes
Contents
module Rpruby # Options of a request to search items class ItemSearchOptions MAPPING = { launch_id: 'filter.eq.launch', name: 'filter.eq.name', description: 'filter.eq.description', parameter_key: 'filter.eq.parameters$key', parameter_value: 'filter.eq.parameters$value', page_size: 'page.size', page_number: 'page.page' }.freeze attr_reader :query_params def initialize(params = {}) @query_params = params.map { |mapping_key, v| [param_name(mapping_key), v] }.to_h end private def param_name(mapping_key) MAPPING.fetch(mapping_key) { raise KeyError, "key not found: '#{mapping_key.inspect}'. It should be one of: #{MAPPING.keys}" } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rpruby-1.2.2 | lib/rpruby/models/item_search_options.rb |
rpruby-1.2.1 | lib/rpruby/models/item_search_options.rb |