Module: FatZebra::Validation

Included in:
FatZebraObject
Defined in:
lib/fat_zebra/validation.rb

Instance Method Summary collapse

Instance Method Details

#errorsObject



26
27
28
# File 'lib/fat_zebra/validation.rb', line 26

def errors
  @errors ||= []
end

#valid!(params, action = nil) ⇒ Object



22
23
24
# File 'lib/fat_zebra/validation.rb', line 22

def valid!(params, action = nil)
  raise RequestValidationError, "The following errors prevent the transaction from being submitted: #{errors.join(', ')}" unless valid?(params, action)
end

#valid?(params, action = nil) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/fat_zebra/validation.rb', line 8

def valid?(params, action = nil)
  @errors = []

  validations.each do |(field, options)|
    next unless options[:on] == action

    Util.hash_except(options, :on).each do |(validation_attribute, validation_options)|
      send("validate_#{validation_attribute}", field, validation_options, params)
    end
  end

  errors.empty?
end

#validates(name, options = {}) ⇒ Object



4
5
6
# File 'lib/fat_zebra/validation.rb', line 4

def validates(name, options = {})
  validations[name] = options
end