Sha256: b7c7df6bce581904b35a14372d4e2755c353bdb754cb4fb9d56a8d0d0720578c

Contents?: true

Size: 794 Bytes

Versions: 5

Compression:

Stored size: 794 Bytes

Contents

# frozen_string_literal: true

require "pakyow/support/deep_dup"
require "pakyow/support/extension"

module Pakyow
  class App
    class Connection
      module Behavior
        module Values
          extend Support::Extension
          using Support::DeepDup

          # @api private
          attr_reader :values

          apply_extension do
            after "initialize" do
              @values = {}
            end

            after "dup" do
              @values = @values.deep_dup
            end
          end

          def set?(key)
            @values.key?(key.to_sym)
          end

          def set(key, value)
            @values[key.to_sym] = value
          end

          def get(key)
            @values[key.to_sym]
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pakyow-core-1.0.0.rc5 lib/pakyow/app/connection/behavior/values.rb
pakyow-core-1.0.0.rc4 lib/pakyow/app/connection/behavior/values.rb
pakyow-core-1.0.0.rc3 lib/pakyow/app/connection/behavior/values.rb
pakyow-core-1.0.0.rc2 lib/pakyow/app/connection/behavior/values.rb
pakyow-core-1.0.0.rc1 lib/pakyow/app/connection/behavior/values.rb