Sha256: 01cfd57cf5b33a06a06a3c536f2a51df37ea5a9e97c66c4e09a6c19cfc8028ef

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require "alephant/lookup/lookup_table"
require "alephant/lookup/lookup_query"

require 'alephant/logger'

module Alephant
  module Lookup
    class LookupHelper
      include Logger

      attr_reader :lookup_table

      def initialize(lookup_table, logger)
        Logger.set_logger(logger)

        logger.info "LookupHelper#initialize(#{lookup_table.table_name})"

        @lookup_table = lookup_table
      end

      def read(id, opts, batch_version)
        logger.info "LookupHelper#read(#{id}, #{opts}, #{batch_version})"

        LookupQuery.new(lookup_table.table_name, id, opts, batch_version).run!
      end

      def write(id, opts, batch_version, location)
        logger.info "LookupHelper#write(#{id}, #{opts}, #{batch_version}, #{location})"

        LookupLocation.new(id, opts, batch_version, location).tap do |l|
          lookup_table.write(
            l.component_key,
            l.batch_version,
            l.location
          )
        end
      end

      def truncate!
        @lookup_table.truncate!
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
alephant-lookup-0.4.0 lib/alephant/lookup/lookup_helper.rb
alephant-lookup-0.3.0 lib/alephant/lookup/lookup_helper.rb