Class: MixpanelMagicLamp::Queue

Inherits:
Array
  • Object
show all
Defined in:
lib/mixpanel_magic_lamp/queue.rb

Instance Method Summary collapse

Instance Method Details

#process!Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/mixpanel_magic_lamp/queue.rb', line 18

def process!
  self.each do |request|
    next unless request[:status].nil?
    request[:status] = request[:request].response.code

    if request[:request].response.success?
      formatter = MixpanelMagicLamp::Formatter.new(request[:request])
      request[:data] = formatter.convert format: request[:format]
    else
      request[:response] = JSON.parse(request[:request].response.body)
    end
  end

  self
end

#push(request, opts = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/mixpanel_magic_lamp/queue.rb', line 7

def push(request, opts = {})
  item = {
    request: request,
    format: opts.delete(:format),
    status: nil,
    response: nil,
    data: nil }

  self << item and return item
end