Class: NamedValidations

Inherits:
Hash
  • Object
show all
Defined in:
lib/named_validations.rb,
lib/named_validations/version.rb

Overview

Naming to ActiveModel/ActiveRecord validations

Constant Summary collapse

VERSION =
'0.1.0'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.aliasesArray<Symbol>

Returns list of defined alias names

Returns:

  • (Array<Symbol>)


35
36
37
# File 'lib/named_validations.rb', line 35

def aliases
  @aliases ||= []
end

.define(name, validation, params) ⇒ Object .define(name, block) ⇒ Object

Overloads:

  • .define(name, validation, params) ⇒ Object

    Defines a new simple alias (define-by-value)

    Parameters:

    • name (Symbol)

      new alias name

    • validation (Symbol)

      validation name or defined alias name

    • params (Object)

      parameters or arguments for validation

  • .define(name, block) ⇒ Object

    Defines a new alias by block (define-by-block)

    Parameters:

    • name (Symbol)

      new alias name

    • block (Proc)

      body of alias

Raises:

  • (ArgumentError)


25
26
27
28
29
30
31
# File 'lib/named_validations.rb', line 25

def define(name, *spec, &block)
  raise ArgumentError, "reserved name #{name}" if RESERVED.include?(name)
  return define_by_block(name, block) if spec.empty?

  validation, params, = spec
  define_by_value(name, validation, params)
end

Instance Method Details

#absence(arg, *opts) ⇒ NamedValidations

Apply ‘absence` to `self` and return a new object

Returns:



70
# File 'lib/named_validations.rb', line 70

define_for :absence

#acceptance(arg, *opts) ⇒ NamedValidations

Apply ‘acceptance` to `self` and return a new object

Returns:



75
# File 'lib/named_validations.rb', line 75

define_for :acceptance

#associated(arg, *opts) ⇒ NamedValidations

Apply ‘associated` to `self` and return a new object

Returns:



80
# File 'lib/named_validations.rb', line 80

define_for :associated

#confirmation(arg, *opts) ⇒ NamedValidations

Apply ‘confirmation` to `self` and return a new object

Returns:



71
# File 'lib/named_validations.rb', line 71

define_for :confirmation

#exclusion(arg, *opts) ⇒ NamedValidations

Apply ‘exclusion` to `self` and return a new object

Returns:



76
# File 'lib/named_validations.rb', line 76

define_for :exclusion

#extractable_options?Boolean

Note:

This method is needed for ActiveSupport ‘Hash#extract_options!`.

Returns true

Returns:

  • (Boolean)


89
90
91
# File 'lib/named_validations.rb', line 89

def extractable_options?
  true
end

#format(arg, *opts) ⇒ NamedValidations

Apply ‘format` to `self` and return a new object

Returns:



72
# File 'lib/named_validations.rb', line 72

define_for :format

#inclusion(arg, *opts) ⇒ NamedValidations

Apply ‘inclusion` to `self` and return a new object

Returns:



73
# File 'lib/named_validations.rb', line 73

define_for :inclusion

#inspectObject

Inspects self



94
95
96
97
98
99
# File 'lib/named_validations.rb', line 94

def inspect
  klass = self.class
  class_name = klass.name ||
               Kernel.format('(Anonymous:0x%x)', klass.object_id)
  Kernel.format('#<%s:0x%x>', class_name, object_id)
end

#length(arg, *opts) ⇒ NamedValidations

Apply ‘length` to `self` and return a new object

Returns:



77
# File 'lib/named_validations.rb', line 77

define_for :length

#numericality(arg, *opts) ⇒ NamedValidations

Apply ‘numericality` to `self` and return a new object

Returns:



74
# File 'lib/named_validations.rb', line 74

define_for :numericality

#presence(arg, *opts) ⇒ NamedValidations

Apply ‘presence` to `self` and return a new object

Returns:



78
# File 'lib/named_validations.rb', line 78

define_for :presence

#size(arg, *opts) ⇒ NamedValidations

Apply ‘size` to `self` and return a new object

Returns:



81
# File 'lib/named_validations.rb', line 81

define_for :size

#uniqueness(arg, *opts) ⇒ NamedValidations

Apply ‘uniqueness` to `self` and return a new object

Returns:



79
# File 'lib/named_validations.rb', line 79

define_for :uniqueness