Sha256: 3dd886e10c41e864607086a56b50fde1fb6b01cee3650f0a39f9f9826cb789e7
Contents?: true
Size: 1.95 KB
Versions: 3
Compression:
Stored size: 1.95 KB
Contents
# encoding: utf-8 module Dynamoid # All the errors specific to Dynamoid. The goal is to mimic ActiveRecord. module Errors # Generic Dynamoid error class Error < StandardError; end class MissingRangeKey < Error; end class MissingIndex < Error; end # InvalidIndex is raised when an invalid index is specified, for example if # specified key attribute(s) or projected attributes do not exist. class InvalidIndex < Error def initialize(item) if (item.is_a? String) super(item) else super("Validation failed: #{item.errors.full_messages.join(", ")}") end end end class RecordNotDestroyed < Error attr_reader :record def initialize(record) super('Failed to destroy item') @record = record end end # This class is intended to be private to Dynamoid. class ConditionalCheckFailedException < Error attr_reader :inner_exception def initialize(inner) super @inner_exception = inner end end class RecordNotUnique < ConditionalCheckFailedException attr_reader :original_exception def initialize(original_exception, record) super("Attempted to write record #{record} when its key already exists") @original_exception = original_exception end end class StaleObjectError < ConditionalCheckFailedException attr_reader :record, :attempted_action def initialize(record, attempted_action) super("Attempted to #{attempted_action} a stale object #{record}") @record = record @attempted_action = attempted_action end end class RecordNotFound < Error end class DocumentNotValid < Error attr_reader :document def initialize(document) super("Validation failed: #{document.errors.full_messages.join(", ")}") @document = document end end class InvalidQuery < Error; end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dynamoid-2.2.0 | lib/dynamoid/errors.rb |
dynamoid-2.1.0 | lib/dynamoid/errors.rb |
dynamoid-2.0.0 | lib/dynamoid/errors.rb |