class ParamsParser::Parser
Attributes
config[R]
Public Class Methods
new(config)
click to toggle source
# File lib/params_parser.rb, line 7 def initialize(config) @config = Hash[config.map do |(key, param_config)| [key, ParamConfig.new(key, param_config)] end] end
Public Instance Methods
parse(params)
click to toggle source
# File lib/params_parser.rb, line 13 def parse(params) params.class.new.tap do |parsed_params| config.each do |(key, param_config)| if params[key] parsed_params[param_config.key] = param_config.transform.call(params[key]) end parsed_params[param_config.key] ||= param_config.default if param_config.has_default? end end end
to_proc()
click to toggle source
# File lib/params_parser.rb, line 25 def to_proc public_method(:parse) end