Class: RailsSimpleParams::Coercion::HashParam

Inherits:
Base
  • Object
show all
Defined in:
lib/rails_simple_params/coercion/hash_param.rb

Instance Attribute Summary

Attributes inherited from Base

#options, #param, #type

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from RailsSimpleParams::Coercion::Base

Instance Method Details

#coerceObject

Raises:

  • (ArgumentError)


6
7
8
9
10
11
# File 'lib/rails_simple_params/coercion/hash_param.rb', line 6

def coerce
  return param if param.is_a?(ActionController::Parameters)
  raise ArgumentError unless param.respond_to?(:split)

  Hash[param.split(options[:delimiter] || ',').map { |c| c.split(options[:separator] || ':') }] # rubocop:disable Style/HashConversion
end