class FreckleIO::Params
Attributes
allowed_keys[R]
params[R]
validator_module[R]
Public Class Methods
new( params, allowed_keys, validator_module )
click to toggle source
# File lib/freckle_io/params.rb, line 7 def initialize( params, allowed_keys, validator_module ) @params = params @allowed_keys = allowed_keys @validator_module = validator_module end
Public Instance Methods
call()
click to toggle source
# File lib/freckle_io/params.rb, line 17 def call return validator.output if valid? raise Errors::Params::InvalidParams.new, validator_messages end
Private Instance Methods
valid?()
click to toggle source
# File lib/freckle_io/params.rb, line 25 def valid? validator.errors.empty? end
validator()
click to toggle source
# File lib/freckle_io/params.rb, line 29 def validator @validator ||= which_validator_module.validation(params, allowed_keys) end
validator_messages()
click to toggle source
# File lib/freckle_io/params.rb, line 39 def validator_messages messages = validator.messages(full: true) return messages.values.join(",") if messages.is_a?(Hash) messages.join(",") end
which_validator_module()
click to toggle source
# File lib/freckle_io/params.rb, line 33 def which_validator_module Kernel.const_get(validator_module) rescue NameError => e raise Errors::Params::InvalidModule.new(e), e.message end