Class: ADM::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/adm/message.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data = {}) ⇒ Message

Returns a new instance of Message.



5
6
7
# File 'lib/adm/message.rb', line 5

def initialize data={}
  @data = data
end

Instance Attribute Details

#compiledObject (readonly)

Returns the value of attribute compiled.



2
3
4
# File 'lib/adm/message.rb', line 2

def compiled
  @compiled
end

#dataObject (readonly)

Returns the value of attribute data.



2
3
4
# File 'lib/adm/message.rb', line 2

def data
  @data
end

#hydraObject



25
26
27
# File 'lib/adm/message.rb', line 25

def hydra
  @hydra ||= Typhoeus::Hydra.hydra
end

Instance Method Details

#compileObject



29
30
31
32
33
34
35
# File 'lib/adm/message.rb', line 29

def compile
  @json ||= begin
    @compiled = true

    MultiJson.dump(data)
  end
end

#send_to(*tokens) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/adm/message.rb', line 9

def send_to *tokens
  if tokens.first.is_a?(Array)
    tokens = tokens.first
  end

  notifications = tokens.collect do |token|
    note = ADM::Notification.new(token,self)
    note.queue(hydra)
    note
  end

  hydra.run

  notifications
end