Module: Dragonfly::ParamValidators

Defined Under Namespace

Classes: InvalidParameter

Constant Summary collapse

IS_NUMBER =
->(param) {
  param.is_a?(Numeric) || /\A[\d\.]+\z/ === param
}
IS_WORD =
->(param) {
  /\A\w+\z/ === param
}
IS_WORDS =
->(param) {
  /\A[\w ]+\z/ === param
}

Class Method Summary collapse

Class Method Details

.is_numberObject



19
# File 'lib/dragonfly/param_validators.rb', line 19

def is_number; IS_NUMBER; end

.is_wordObject



20
# File 'lib/dragonfly/param_validators.rb', line 20

def is_word; IS_WORD; end

.is_wordsObject



21
# File 'lib/dragonfly/param_validators.rb', line 21

def is_words; IS_WORDS; end

.validate!(parameter, &validator) ⇒ Object

Raises:



23
24
25
26
# File 'lib/dragonfly/param_validators.rb', line 23

def validate!(parameter, &validator)
  return if parameter.nil?
  raise InvalidParameter unless validator.(parameter)
end

.validate_all!(parameters, &validator) ⇒ Object



28
29
30
# File 'lib/dragonfly/param_validators.rb', line 28

def validate_all!(parameters, &validator)
  parameters.each { |p| validate!(p, &validator) }
end

.validate_all_keys!(obj, keys, &validator) ⇒ Object



32
33
34
35
# File 'lib/dragonfly/param_validators.rb', line 32

def validate_all_keys!(obj, keys, &validator)
  parameters = keys.map { |key| obj[key] }
  validate_all!(parameters, &validator)
end