Sha256: f5f8164bf9e7a228cd5d5577fea58a1e3c50fb24d9d3570bc3cafeb43e554356

Contents?: true

Size: 578 Bytes

Versions: 17

Compression:

Stored size: 578 Bytes

Contents

module Macmillan
  module Utils
    module Settings
      class Lookup
        def initialize(backends)
          @backends = backends
        end

        def lookup(key)
          @backends.each do |backend|
            result = backend.get(key)
            return result.value unless result.is_a?(KeyNotFound)
          end

          raise KeyNotFoundError.new("Cannot find a settings value for #{key}")
        end

        # Backwards compatibility: in the past this has been used like a Hash
        alias [] lookup
        alias fetch lookup
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
macmillan-utils-1.0.44 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.43 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.42 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.41 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.40 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.39 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.38 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.37 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.36 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.35 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.34 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.33 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.32 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.31 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.30 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.29 lib/macmillan/utils/settings/lookup.rb
macmillan-utils-1.0.27 lib/macmillan/utils/settings/lookup.rb