module Formatters
  module Writers
    def self.compile_events(data)
      events = []
      data.each_with_index do | raw_event, i |
        events << Formatters::Writers.compile_event(raw_event, i)
      end
      events
    end

def self.compile_event(event, count)
        event_id = "track_writer_event_#{count}"

        event = <<-EVENT
          #{event_id} = {
            "data":
            {
                "track_writer_id": #{event[:track_writer_id]},
                "writer_name": "#{event[:writer_name]}",
                "upc": #{event[:upc]},
                "cd": #{event[:cd]},
                "track_id": #{event[:track_id]},
                "unique_track_id": #{event[:unique_track_id]},
                "artist_info_id": None
            },
            "database":"art_relations",
            "table":"track_writer",
            "type":"insert"
          }

          data = base64.b64encode(json.dumps(#{event_id}).encode())

          kinesis_event = {
              "Records": [
                  {
                          "kinesis":{
                              "data": data
                          }
                  }
              ]
          }

          handler(kinesis_event, None)

        EVENT

        event
    end
      end
end
