19 lines
515 B
Ruby
19 lines
515 B
Ruby
module Pruning
|
|
module HTTP
|
|
class Query < Struct.new(:name, :indicator_ids)
|
|
def initialize(params = {})
|
|
values = members.map do |member|
|
|
value = params.fetch(member, nil)
|
|
next if value.nil?
|
|
case member
|
|
when :indicator_ids then value.map(&:to_i) # break on purpose if indicator_ids is not an array
|
|
when :name then value.to_s.gsub(/[^A-Za-z]/,'')
|
|
else value
|
|
end
|
|
end
|
|
super(*values)
|
|
end
|
|
end
|
|
end
|
|
end
|