Module: Grape::ParamsBuilder

Extended by:
Util::Registry
Defined in:
lib/grape/params_builder.rb,
lib/grape/params_builder/base.rb,
lib/grape/params_builder/hash.rb,
lib/grape/params_builder/hashie_mash.rb,
lib/grape/params_builder/hash_with_indifferent_access.rb

Defined Under Namespace

Classes: Base, Hash, HashWithIndifferentAccess, HashieMash

Constant Summary collapse

SHORT_NAME_LOOKUP =
{
  'Grape::Extensions::Hash::ParamBuilder' => :hash,
  'Grape::Extensions::ActiveSupport::HashWithIndifferentAccess::ParamBuilder' => :hash_with_indifferent_access,
  'Grape::Extensions::Hashie::Mash::ParamBuilder' => :hashie_mash
}.freeze

Class Method Summary collapse

Methods included from Util::Registry

register

Class Method Details

.params_builder_for(short_name) ⇒ Object


15
16
17
18
19
20
21
# File 'lib/grape/params_builder.rb', line 15

def params_builder_for(short_name)
  verified_short_name = verify_short_name!(short_name)

  raise Grape::Exceptions::UnknownParamsBuilder, verified_short_name unless registry.key?(verified_short_name)

  registry[verified_short_name]
end

.verify_short_name!(short_name) ⇒ Object


23
24
25
26
27
28
29
30
# File 'lib/grape/params_builder.rb', line 23

def verify_short_name!(short_name)
  return short_name if short_name.is_a?(Symbol)

  class_name = short_name.name
  SHORT_NAME_LOOKUP[class_name].tap do |real_short_name|
    Grape.deprecator.warn "#{class_name} has been deprecated. Use short name :#{real_short_name} instead."
  end
end
close