module TinyValidations
Constants
- VERSION
Public Instance Methods
context=(key)
click to toggle source
# File lib/tiny_validations.rb, line 32 def context=(key) if self.respond_to?(context_key(key)) self.validation_context = key else raise 'Context not found' end end
validations_base(rule, condition = :if) { |validations| ... }
click to toggle source
# File lib/tiny_validations.rb, line 16 def validations_base(rule, condition = :if, &block) if rule.is_a?(Array) keys = rule.map { |r| context_key(r) } else keys = Array(context_key(rule)) end options = {} options[condition] = -> { keys.include?(context_key(validation_context)) } instance_eval do keys.each { |k| attr_accessor k } with_options(options) { |validations| yield validations } end end
validations_when(key , &block)
click to toggle source
# File lib/tiny_validations.rb, line 8 def validations_when(key , &block) validations_base(key, &block) end
validations_when_not(key, &block)
click to toggle source
# File lib/tiny_validations.rb, line 12 def validations_when_not(key, &block) validations_base(key, :unless, &block) end
Private Instance Methods
context_key(key)
click to toggle source
# File lib/tiny_validations.rb, line 41 def context_key(key) "context_validations_#{key}".to_sym end