Sha256: 8167378a830e42b35199d9f16bab99ef01bab975c77b52c4bcc275fe80184366
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
require 'crimp' require 'alephant/lookup/lookup_location' module Alephant module Lookup class LookupQuery attr_reader :table_name, :lookup_location def initialize(table_name, component_id, batch_version, opts) @client = AWS::DynamoDB::Client::V20120810.new @table_name = table_name @lookup_location = LookupLocation.new(component_id, batch_version, opts) end def run! lookup_location.tap do |l| l.location = s3_location_from( @client.query(to_q) ) end end private def s3_location_from(result) result[:count] == 1 ? result[:member].first['location'][:s] : nil end def to_q { :table_name => table_name, :consistent_read => true, :select => 'SPECIFIC_ATTRIBUTES', :attributes_to_get => ['location'], :key_conditions => { 'component_key' => { :comparison_operator => 'EQ', :attribute_value_list => [ { 's' => @lookup_location.component_key } ], }, 'batch_version' => { :comparison_operator => 'EQ', :attribute_value_list => [ { 'n' => @lookup_location.batch_version.to_s } ] } } } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alephant-lookup-0.1.4 | lib/alephant/lookup/lookup_query.rb |
alephant-lookup-0.1.3 | lib/alephant/lookup/lookup_query.rb |