Sha256: 48f584ec1a3a9fefe8d11e0c2c7ac4fcb999770d77419fcbb8eee275e0379c9c

Contents?: true

Size: 1.54 KB

Versions: 7

Compression:

Stored size: 1.54 KB

Contents

# Copyright 2021 The NATS Authors
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

require_relative '../errors'

module NATS
  class KeyValue
    class Error < NATS::Error; end

    # When a key is not found.
    class KeyNotFoundError < Error
      attr_reader :entry, :op
      def initialize(params={})
        @entry = params[:entry]
        @op = params[:op]
        @message = params[:message]
      end

      def to_s
        msg = "nats: key not found"
        msg = "#{msg}: #{@message}" if @message
        msg
      end
    end

    # When a key is not found because it was deleted.
    class KeyDeletedError < KeyNotFoundError
      def to_s
        "nats: key was deleted"
      end
    end

    # When there was no bucket present.
    class BucketNotFoundError < Error; end

    # When it is an invalid bucket.
    class BadBucketError < Error; end

    # When the result is an unexpected sequence.
    class KeyWrongLastSequenceError < Error
      def initialize(msg)
        @msg = msg
      end
      def to_s
        "nats: #{@msg}"
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
nats-pure-2.4.0 lib/nats/io/kv/errors.rb
nats-pure-2.3.0 lib/nats/io/kv/errors.rb
rubypitaya-3.12.5 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/kv/errors.rb
rubypitaya-3.12.4 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/kv/errors.rb
rubypitaya-3.12.3 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/kv/errors.rb
rubypitaya-3.12.2 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/kv/errors.rb
nats-pure-2.2.1 lib/nats/io/kv/errors.rb