Sha256: ddec2d9821419b50f205a27fc8059fd4eadb6cafa036e50104eca9adddc4ecd1

Contents?: true

Size: 1022 Bytes

Versions: 5

Compression:

Stored size: 1022 Bytes

Contents

# frozen_string_literal: true, encoding: ASCII-8BIT

module CouchbaseOrm
    class Error < ::StandardError
        attr_reader :record

        def initialize(message = nil, record = nil)
            @record = record
            super(message)
        end

        class RecordInvalid < Error
            def initialize(message = nil, record = nil)
                if record
                    errors = record.errors.full_messages.join(", ")
                    message = I18n.t(
                        :"couchbase.#{record.class.design_document}.errors.messages.record_invalid", 
                        errors: errors, 
                        default: :"couchbase.errors.messages.record_invalid"
                    )
                end
                super(message, record)
            end
        end
        class TypeMismatchError < Error; end
        class RecordExists < Error; end
        class CouchbaseOrm::Error::EmptyNotAllowed < Error; end
    end
    class StrictLoadingViolationError < Error; end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
couchbase-orm-2.0.4 lib/couchbase-orm/error.rb
couchbase-orm-2.0.3 lib/couchbase-orm/error.rb
couchbase-orm-2.0.2 lib/couchbase-orm/error.rb
couchbase-orm-2.0.1 lib/couchbase-orm/error.rb
couchbase-orm-2.0.0 lib/couchbase-orm/error.rb