Module: API::Helpers::CommonHelpers

Defined in:
lib/api/helpers/common_helpers.rb

Instance Method Summary collapse

Instance Method Details

#coerce_nil_params_to_array!Object

Grape v1.3.3 no longer automatically coerces an Array type to an empty array if the value is nil.



18
19
20
21
22
23
24
# File 'lib/api/helpers/common_helpers.rb', line 18

def coerce_nil_params_to_array!
  keys_to_coerce = params_with_array_types

  params.each do |key, val|
    params[key] = Array(val) if val.nil? && keys_to_coerce.include?(key)
  end
end

#convert_parameters_from_legacy_format(params) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/api/helpers/common_helpers.rb', line 6

def convert_parameters_from_legacy_format(params)
  params.tap do |params|
    assignee_id = params.delete(:assignee_id)

    if assignee_id.present?
      params[:assignee_ids] = [assignee_id]
    end
  end
end

#endpoint_idObject



36
37
38
# File 'lib/api/helpers/common_helpers.rb', line 36

def endpoint_id
  ::API::Base.endpoint_id_for_route(route)
end

#params_with_array_typesObject



26
27
28
29
30
31
32
33
34
# File 'lib/api/helpers/common_helpers.rb', line 26

def params_with_array_types
  options[:route_options][:params].map do |key, val|
    param_type = val[:type]
    # Search for parameters with Array types (e.g. "[String]", "[Integer]", etc.)
    if %r{\[\w*\]}.match?(param_type)
      key
    end
  end.compact.to_set
end