Sha256: ad0d393c16429a9d29a398f4fbae481b208564ad447309deb5a9463b58701372

Contents?: true

Size: 368 Bytes

Versions: 4

Compression:

Stored size: 368 Bytes

Contents

module Streamer
  module Functors
    # Lookup looks up a fact given a finder
    class Lookup < Functor
      def call
        finder = options.fetch(:finder)
        finder.find(lookup_key)
      end

      def lookup_key
        item_key = options.fetch(:terms)[0]
        options[:fact] = options.fetch(:fact).gsub('#', "#{item_key}.")
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
streamer-0.2.1 lib/streamer/functors/lookup.rb
streamer-0.2.0 lib/streamer/functors/lookup.rb
streamer-0.1.1 lib/streamer/functors/lookup.rb
streamer-0.1.0 lib/streamer/functors/lookup.rb