Sha256: 1014bcec43e142965bea3e9a8225ec1b1f6b44b5d5dc072605453e7e48585682

Contents?: true

Size: 391 Bytes

Versions: 4

Compression:

Stored size: 391 Bytes

Contents

require 'observed/hash/key_path_encoding'

module Observed
  module Hash
    class Fetcher
      include Observed::Hash::KeyPathEncoding

      def initialize(hash)
        @hash = hash || fail('The hash must not be nil')
      end

      def [](key_path)
        at_key_path_on_hash @hash, key_path, create_if_missing: false do |h, k|
          h[k]
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
observed-0.2.0 lib/observed/hash/fetcher.rb
observed-0.2.0.rc2 lib/observed/hash/fetcher.rb
observed-0.2.0.rc1 lib/observed/hash/fetcher.rb
observed-0.1.1 lib/observed/hash/fetcher.rb