patronus_fati 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/patronus_fati/bit_field.rb +1 -1
- data/lib/patronus_fati/presence.rb +7 -6
- data/lib/patronus_fati/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0decb36cf31bb39312c3aafa0b363d0c445d62f9
|
4
|
+
data.tar.gz: 28c87e8a494ccce26639b41a1a00b2cb1a9f9000
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e92db4e69fb9cde5927add5c1f64b967a9bfe2984e3cf649d6557521fbbd4b91771d1fcdc8e68ff2b52367915a32aca16237f777e451cc7328c58bf6771dbe97
|
7
|
+
data.tar.gz: d70418fb785ca6f3270c16dc470fa374e0dbe521992cc538fc1af6dabd8b22b2d6fc196107f61fafc1e98e2ee05205cd909e9994ff64e5b3633b4eb5e74349e3
|
@@ -9,13 +9,13 @@ module PatronusFati
|
|
9
9
|
# appropriate bit within our bit field.
|
10
10
|
def bit_for_time(reference_window, timestamp)
|
11
11
|
offset = timestamp - reference_window
|
12
|
-
raise ArgumentError if offset < 0 || offset
|
12
|
+
raise ArgumentError if offset < 0 || offset >= WINDOW_LENGTH
|
13
13
|
(offset / INTERVAL_DURATION) + 1
|
14
14
|
end
|
15
15
|
|
16
16
|
# Get the bit representing our current interval within the window
|
17
17
|
def current_bit_offset
|
18
|
-
bit_for_time(
|
18
|
+
bit_for_time(window_start, Time.now.to_i)
|
19
19
|
end
|
20
20
|
|
21
21
|
# Returns the unix timestamp of the beginning of the current window.
|
@@ -38,7 +38,7 @@ module PatronusFati
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def last_window_start
|
41
|
-
|
41
|
+
window_start - WINDOW_LENGTH
|
42
42
|
end
|
43
43
|
|
44
44
|
# Provides the beginning of the last interval when the tracked object was
|
@@ -50,7 +50,7 @@ module PatronusFati
|
|
50
50
|
return nil if dead?
|
51
51
|
|
52
52
|
if (bit = current_presence.highest_bit_set)
|
53
|
-
time_for_bit(
|
53
|
+
time_for_bit(window_start, bit)
|
54
54
|
else
|
55
55
|
time_for_bit(last_window_start, last_presence.highest_bit_set)
|
56
56
|
end
|
@@ -70,10 +70,11 @@ module PatronusFati
|
|
70
70
|
# a new bit window, this method will move the current window into the old
|
71
71
|
# one, and reset the current bit field.
|
72
72
|
def rotate_presence
|
73
|
-
|
73
|
+
cws = current_window_start
|
74
|
+
return if window_start == cws
|
74
75
|
|
75
76
|
self.last_presence = current_presence
|
76
|
-
self.window_start =
|
77
|
+
self.window_start = cws
|
77
78
|
self.current_presence = BitField.new(WINDOW_INTERVALS)
|
78
79
|
end
|
79
80
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: patronus_fati
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Stelfox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: louis
|