class Moe::Sequence::ItemFetcher
Attributes
dyna[RW]
items[RW]
owner_id[R]
sequence_id[RW]
table_name[R]
uid[R]
Public Class Methods
new(table_name, owner_id, uid)
click to toggle source
# File lib/moe/sequence/item_fetcher.rb, line 7 def initialize(table_name, owner_id, uid) @dyna = Dyna.new @items = [] @owner_id = owner_id @sequence_id = 1 @table_name = table_name @uid = uid end
Public Instance Methods
fetch(limit)
click to toggle source
# File lib/moe/sequence/item_fetcher.rb, line 16 def fetch(limit) request = { request_items: { table_name => { keys: [] } } } keys = request[:request_items][table_name][:keys] limit.times do keys << dyna.explode( Locksmith.key(owner_id, sequence_id, uid) ) self.sequence_id += 1 end munge dyna.dynamodb.batch_get_item(request) end
Private Instance Methods
munge(results)
click to toggle source
# File lib/moe/sequence/item_fetcher.rb, line 35 def munge(results) results.responses.each_value do |item| item.each do |i| items << dyna.implode(i) end end end