Sha256: e40618b54649b28623ab147b4aa08576961d3ad3ed39eee25eb3620a94194eb2

Contents?: true

Size: 654 Bytes

Versions: 5

Compression:

Stored size: 654 Bytes

Contents

module Spyke
  class ScopeRegistry
    # https://github.com/balvig/spyke/pull/128
    if ActiveSupport::VERSION::MAJOR >= 7
      class << self
        delegate :value_for, :set_value_for, to: :new
      end

      thread_mattr_accessor :registry
    else
      extend ActiveSupport::PerThreadRegistry

      attr_accessor :registry
    end

    def initialize
      self.registry ||= Hash.new { |hash, key| hash[key] = {} }
    end

    def value_for(scope_type, variable_name)
      registry[scope_type][variable_name]
    end

    def set_value_for(scope_type, variable_name, value)
      registry[scope_type][variable_name] = value
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spyke-7.2.2 lib/spyke/scope_registry.rb
spyke-7.1.1 lib/spyke/scope_registry.rb
spyke-7.1.0 lib/spyke/scope_registry.rb
spyke-7.0.0 lib/spyke/scope_registry.rb
spyke-6.1.3 lib/spyke/scope_registry.rb