Class: Hashipack::Message

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

Direct Known Subclasses

ArtifactMessage, OtherMessage, UiMessage

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(line) ⇒ Message

Returns a new instance of Message.



14
15
16
17
18
# File 'lib/hashipack/message.rb', line 14

def initialize(line)
  line = line.force_encoding('UTF-8')
  line = line.encode('UTF-8', invalid: :replace, undef: :replace, replace: '')
  @parts = line.split(",")
end

Class Method Details

.parse(line) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/hashipack/message.rb', line 3

def self.parse(line)
  msg = Message.new(line)
  if msg.ui?
    UiMessage.new(line)
  elsif msg.artifact?
    ArtifactMessage.new(line)
  else
    OtherMessage.new(line)
  end
end

Instance Method Details

#artifact?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/hashipack/message.rb', line 32

def artifact?
  type == 'artifact'
end

#timestampObject



20
21
22
# File 'lib/hashipack/message.rb', line 20

def timestamp
  @parts.first.to_i
end

#typeObject



24
25
26
# File 'lib/hashipack/message.rb', line 24

def type
  @parts[2]
end

#ui?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/hashipack/message.rb', line 28

def ui?
  type == 'ui'
end