class Dhis2::QueryParametersFormatter
Attributes
options[R]
query_parameters[R]
Public Class Methods
new(options:, query_parameters:)
click to toggle source
# File lib/dhis2/api/query_parameters_formatter.rb, line 5 def initialize(options:, query_parameters:) @options = options @query_parameters = query_parameters end
Public Instance Methods
call()
click to toggle source
# File lib/dhis2/api/query_parameters_formatter.rb, line 10 def call RestClient::ParamsArray.new(formatted_options) end
Private Instance Methods
format_fields(fields)
click to toggle source
# File lib/dhis2/api/query_parameters_formatter.rb, line 30 def format_fields(fields) if fields.respond_to?(:join) fields.join(",") elsif fields == :all ":all" else fields end end
format_filter(filter)
click to toggle source
# File lib/dhis2/api/query_parameters_formatter.rb, line 40 def format_filter(filter) if filter.respond_to?(:map) filter.map do |subfilter| [:filter, subfilter] end else [[:filter, filter]] end end
formatted_options()
click to toggle source
# File lib/dhis2/api/query_parameters_formatter.rb, line 18 def formatted_options [].tap do |params| query_parameters.each do |param| Array(options[param]).each do |value| params.push([::Dhis2::Case.camelize(param.to_s, false), value]) end end params.push([:fields, format_fields(options[:fields])]) if options[:fields] params.concat(format_filter(options[:filter])) if options[:filter] end end