Sha256: 76ce9e5f6e3e248a65f1f545a0b7b34c07d8ecd15119c23cec76da0385067817

Contents?: true

Size: 857 Bytes

Versions: 13

Compression:

Stored size: 857 Bytes

Contents

class BazaModels::Errors
  class InvalidRecord < RuntimeError; end
  class RecordNotFound < RuntimeError; end

  def initialize
    @errors = {}
  end

  def add(attribute_name, error)
    @errors[attribute_name] ||= []
    @errors[attribute_name] << error
  end

  def full_messages
    messages = []

    @errors.each do |attribute_name, errors|
      errors.each do |error|
        message = ""

        unless attribute_name == :base
          message << "#{StringCases.snake_to_camel(attribute_name)} "
        end

        message << error
        messages << message
      end
    end

    messages
  end

  def empty?
    full_messages.empty?
  end

  def any?
    full_messages.any?
  end

  def to_s
    "#<BazaModels::Errors full_messages=\"#{full_messages}\">"
  end

  def inspect
    to_s
  end

  def [](key)
    @errors[key] || []
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
baza_models-0.0.13 lib/baza_models/errors.rb
baza_models-0.0.12 lib/baza_models/errors.rb
baza_models-0.0.11 lib/baza_models/errors.rb
baza_models-0.0.10 lib/baza_models/errors.rb
baza_models-0.0.9 lib/baza_models/errors.rb
baza_models-0.0.8 lib/baza_models/errors.rb
baza_models-0.0.7 lib/baza_models/errors.rb
baza_models-0.0.6 lib/baza_models/errors.rb
baza_models-0.0.5 lib/baza_models/errors.rb
baza_models-0.0.4 lib/baza_models/errors.rb
baza_models-0.0.3 lib/baza_models/errors.rb
baza_models-0.0.2 lib/baza_models/errors.rb
baza_models-0.0.1 lib/baza_models/errors.rb