Class: Teamd::Discover::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/teamd/discover/message.rb,
lib/teamd/discover/message/packet.rb,
lib/teamd/discover/message/discovery_request.rb,
lib/teamd/discover/message/cluster_announcement.rb

Defined Under Namespace

Classes: ClusterAnnouncement, DiscoveryRequest, InvalidMessage, Packet

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.build(data = {}) ⇒ Object



22
23
24
25
# File 'lib/teamd/discover/message.rb', line 22

def build data={}
  return Message::DiscoveryRequest.new data   if data["discovery"]
  return Message::ClusterAnnouncement.new data if data["clusters"]
end

.pack(data) ⇒ Object



19
20
21
# File 'lib/teamd/discover/message.rb', line 19

def pack data
  {teamd:data}.to_json
end

.unpack(data) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/teamd/discover/message.rb', line 12

def unpack data
  begin
    build JSON.parse(data)["teamd"]
  rescue
    raise InvalidMessage
  end
end

Instance Method Details

#is_announcement?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/teamd/discover/message.rb', line 30

def is_announcement?
  self.clusters && self
end

#is_discovery?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/teamd/discover/message.rb', line 27

def is_discovery?
  self.discovery && self
end

#packObject



33
34
35
# File 'lib/teamd/discover/message.rb', line 33

def pack
  { teamd: @table }.to_json
end