class Judge::Validation
Public Class Methods
new(params)
click to toggle source
# File lib/judge/validation.rb, line 4 def initialize(params) @klass = params[:klass] @attribute = params[:attribute] @value = params[:value] @kind = params[:kind] @original_value = params[:original_value] validate! end
Public Instance Methods
amv()
click to toggle source
# File lib/judge/validation.rb, line 13 def amv @amv ||= begin validators = @klass.validators_on(@attribute) validators.keep_if { |amv| amv.kind == @kind } validators.first end end
as_json(options = {})
click to toggle source
# File lib/judge/validation.rb, line 35 def as_json(options = {}) record.errors[@attribute] || [] end
record()
click to toggle source
# File lib/judge/validation.rb, line 21 def record @record ||= begin rec = @klass.new rec[@attribute] = @value rec end end
validate!()
click to toggle source
# File lib/judge/validation.rb, line 29 def validate! record.errors.delete(@attribute) amv.validate_each(record, @attribute, @value) unless amv.kind == :uniqueness && @value == @original_value && @original_value != "" self end