Class: Checkoff::Internal::SearchUrl::DateParamConverter

Inherits:
Object
  • Object
show all
Defined in:
lib/checkoff/internal/search_url/date_param_converter.rb

Overview

Convert date parameters - ones where the param name itself doesn’t encode any parameters’

Instance Method Summary collapse

Constructor Details

#initialize(date_url_params:) ⇒ DateParamConverter

Returns a new instance of DateParamConverter.

Parameters:

  • date_url_params (Hash<String, Array<String>>)

    the simple params



12
13
14
# File 'lib/checkoff/internal/search_url/date_param_converter.rb', line 12

def initialize(date_url_params:)
  @date_url_params = date_url_params
end

Instance Method Details

#convertArray(Hash<String, String>, Array<[Symbol, Array]>)

@sg-ignore

Returns:

  • (Array(Hash<String, String>, Array<[Symbol, Array]>))


18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/checkoff/internal/search_url/date_param_converter.rb', line 18

def convert
  return [{}, []] if date_url_params.empty?

  out = nil

  %w[due_date start_date completion_date].each do |prefix|
    next unless date_url_params.key? "#{prefix}.operator"
    raise 'Teach me how to handle simultaneous date parameters' unless out.nil?

    out = convert_for_prefix(prefix)
  end

  raise "Teach me to handle these parameters: #{date_url_params.inspect}" unless date_url_params.empty?

  out
end