Module: ValidationProfiler

Defined in:
lib/validation_profiler/version.rb,
lib/validation_profiler/manager.rb,
lib/validation_profiler/class_methods.rb,
lib/validation_profiler/manager_result.rb,
lib/validation_profiler/rules/validation_rule.rb,
lib/validation_profiler/rules/max_validation_rule.rb,
lib/validation_profiler/rules/min_validation_rule.rb,
lib/validation_profiler/exceptions/field_not_found.rb,
lib/validation_profiler/rules/date_validation_rule.rb,
lib/validation_profiler/rules/guid_validation_rule.rb,
lib/validation_profiler/rules/list_validation_rule.rb,
lib/validation_profiler/rules/time_validation_rule.rb,
lib/validation_profiler/rules/child_validation_rule.rb,
lib/validation_profiler/rules/email_validation_rule.rb,
lib/validation_profiler/rules/match_validation_rule.rb,
lib/validation_profiler/rules/regex_validation_rule.rb,
lib/validation_profiler/rules/length_validation_rule.rb,
lib/validation_profiler/exceptions/invalid_field_type.rb,
lib/validation_profiler/rules/decimal_validation_rule.rb,
lib/validation_profiler/rules/integer_validation_rule.rb,
lib/validation_profiler/rules/validation_rule_manager.rb,
lib/validation_profiler/rules/required_validation_rule.rb,
lib/validation_profiler/rules/condition_validation_rule.rb,
lib/validation_profiler/rules/not_allowed_validation_rule.rb,
lib/validation_profiler/exceptions/validation_rule_not_found.rb,
lib/validation_profiler/exceptions/invalid_validation_rule_type.rb,
lib/validation_profiler/exceptions/validation_rule_already_exists.rb,
lib/validation_profiler/exceptions/invalid_validation_rule_attributes.rb

Overview

Namespace

Defined Under Namespace

Modules: Exceptions, Rules Classes: Manager, ManagerResult

Constant Summary collapse

VERSION =

:nodoc:

'1.8.0'.freeze

Instance Method Summary collapse

Instance Method Details

#validates(field, rule, attributes = {}) ⇒ Object

Specifies a validation rule to use within a validation profile.

Parameters:

  • field (Symbol)

    The name of the field to validate

  • rule (Symbol)

    The name of the validation rule to use

  • attributes (Hash) (defaults to: {})
    Optional

    A has containing the validation rule options



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/validation_profiler/class_methods.rb', line 32

def validates(field, rule, attributes = {})

  if !self.class_variable_defined?(:@@validation_rules)
    self.class_variable_set(:@@validation_rules, [])
  end

  validation_rules = self.class_variable_get(:@@validation_rules)
  validation_rules.push({ name: rule, field: field, attributes: attributes })

  self.class_variable_set(:@@validation_rules, validation_rules)

end