Class: MonogotoApi::Ping::List

Inherits:
Object
  • Object
show all
Defined in:
lib/monogoto_api/ping/list.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeList

Returns a new instance of List.



8
9
10
# File 'lib/monogoto_api/ping/list.rb', line 8

def initialize
    @pings = []
end

Instance Attribute Details

#pingsObject (readonly)

Returns the value of attribute pings.



6
7
8
# File 'lib/monogoto_api/ping/list.rb', line 6

def pings
  @pings
end

Class Method Details

.parse(hash_pings) ⇒ Object

Parser of API ping response “/thing/ThingId_ICCID_#{ iccid }/ping”



19
20
21
22
23
# File 'lib/monogoto_api/ping/list.rb', line 19

def self.parse(hash_pings)
    list = new
    hash_pings.each { |ping| list.push(MonogotoApi::Ping.parse(ping)) }
    list
end

Instance Method Details

#ok?Boolean

Check if are any packet loss in any ping

Returns:

  • (Boolean)


36
37
38
# File 'lib/monogoto_api/ping/list.rb', line 36

def ok?
    packet_loss.zero?
end

#packet_lossObject

Extract packet loss counter of ping list



26
27
28
# File 'lib/monogoto_api/ping/list.rb', line 26

def packet_loss
    @pings.map(&:packet_loss).max
end

#push(ping) ⇒ Object

Push ping element to pings array



13
14
15
# File 'lib/monogoto_api/ping/list.rb', line 13

def push(ping)
    @pings.push(ping)
end

#receivedObject

Extract received counter of ping list



31
32
33
# File 'lib/monogoto_api/ping/list.rb', line 31

def received
    @pings.map(&:received).max
end