Class: FirehoseIntegration::KinesisSingleObjectJob

Inherits:
ActiveJob::Base
  • Object
show all
Defined in:
lib/firehose_integration/jobs/kinesis_single_object_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(class_name, ids) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/firehose_integration/jobs/kinesis_single_object_job.rb', line 5

def perform(class_name, ids)
  client = Aws::Firehose::Client.new(region:'us-east-1')
  results = []
  ids.each do |id|
    object = class_name.constantize.find(id)
    stream = object.class.kinesis_stream_name
    data = object.to_kinesis

    params = {
      delivery_stream_name: stream,
      record: {
        data: "#{data}\n"
      }
    }
    results << client.put_record(params)
  end
  results
end