Sha256: ea79f5f6eb8bb53a929ea980e68423c1cc9ccf35008f0c74e83060ed43d2127d

Contents?: true

Size: 404 Bytes

Versions: 4

Compression:

Stored size: 404 Bytes

Contents

module Streamer
  module FactProviders
    # HashProvider implements the Finder Provider interface
    class HashProvider
      attr_reader :data
      def initialize(data = nil)
        @data = data || {}
      end

      def find(key)
        string_keys = key.split('.')
        sym_keys = key.split('.').map(&:to_sym)
        data.dig(*string_keys) || data.dig(*sym_keys)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
streamer-0.2.1 lib/streamer/fact_providers/hash_provider.rb
streamer-0.2.0 lib/streamer/fact_providers/hash_provider.rb
streamer-0.1.1 lib/streamer/fact_providers/hash_provider.rb
streamer-0.1.0 lib/streamer/fact_providers/hash_provider.rb