Sha256: 8b267665333bfd93a899a0c0285af5381f5b45db50c54e4ade0bc1f90539c3e0

Contents?: true

Size: 707 Bytes

Versions: 4

Compression:

Stored size: 707 Bytes

Contents

module Compel

  class Errors

    def initialize
      @errors = Hashie::Mash.new
    end

    def add(key, error)
      if error.is_a?(Compel::Errors)
        if error.empty?
          return
        end

        if @errors[key].nil?
          @errors[key] = {}
        end

        @errors[key].merge!(error.to_hash)

        return
      end

      if !error.is_a?(Array)
        error = [error]
      end

      if error.empty?
        return
      end

      if @errors[key].nil?
        @errors[key] = []
      end

      @errors[key].concat(error)
    end

    def length
      @errors.keys.length
    end

    def empty?
      length == 0
    end

    def to_hash
      @errors
    end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
compel-0.2.0 lib/compel/errors.rb
compel-0.1.3 lib/compel/errors.rb
compel-0.1.2 lib/compel/errors.rb
compel-0.1.1 lib/compel/errors.rb