Module: TinyValidations

Extended by:
ActiveSupport::Concern
Defined in:
lib/tiny_validations.rb,
lib/tiny_validations/version.rb

Constant Summary collapse

VERSION =
0.1

Instance Method Summary collapse

Instance Method Details

#context=(key) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/tiny_validations.rb', line 33

def context=(key)
  if self.respond_to?(context_key(key))
    self.send("context_validation=", key)
  else
    raise 'Context not found'
  end
end

#validations_base(key, condition = :if, &block) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/tiny_validations.rb', line 20

def validations_base( key, condition = :if, &block)
  options = {}
  options[condition] = -> { context_key(key) == context_key(context_validation) }

  instance_eval do
    attr_accessor context_key(key)

    with_options(options) do |validations|
      yield validations
    end
  end
end

#validations_when(key, &block) ⇒ Object



12
13
14
# File 'lib/tiny_validations.rb', line 12

def validations_when(key , &block)
  validations_base(key, &block)
end

#validations_when_not(key, &block) ⇒ Object



16
17
18
# File 'lib/tiny_validations.rb', line 16

def validations_when_not(key, &block)
  validations_base(key, :unless, &block)
end