Sha256: 42e094163f611da72f9daa58c28804c9798dd25273919f9fd56e89b921292c2a

Contents?: true

Size: 745 Bytes

Versions: 5

Compression:

Stored size: 745 Bytes

Contents

module Judge

  class Validator

    attr_reader :active_model_validator, :kind, :options, :method, :messages, :original_value

    REJECTED_OPTIONS = [:if, :on, :unless, :tokenizer, :scope, :case_sensitive, :judge]

    def initialize(object, method, amv)
      @kind     = amv.kind
      @options  = amv.options.reject { |key| REJECTED_OPTIONS.include?(key)  }
      @method   = method
      @messages = Judge::MessageCollection.new(object, method, amv)
      @original_value    = object.send(method)
    end

    def to_hash
      params = {
        :kind => kind,
        :options => options,
        :messages => messages.to_hash
      }
      params[:original_value] = original_value if kind == :uniqueness
      params
    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
judge-3.1.0 lib/judge/validator.rb
judge-3.0.0 lib/judge/validator.rb
judge-2.1.1 lib/judge/validator.rb
judge-2.1.0 lib/judge/validator.rb
judge-2.0.6 lib/judge/validator.rb