class FirehoseIntegration::KinesisSingleObjectJob

Public Instance Methods

perform(class_name, ids) click to toggle source
# 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