patronus_fati 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1d187f9773be2d8c8fec8c15ab55a3dcc620db38
4
- data.tar.gz: 8eb9d743c20db9adeca447df32a35b361682a368
3
+ metadata.gz: 10eb60457868f46c81ae5387c9df1c2762274426
4
+ data.tar.gz: 386a39bbc8dfee4a70096b765afc710c6472db4a
5
5
  SHA512:
6
- metadata.gz: bb30a888c6b1df1eb3869d35204dea70a3ad69d6fcade84d09ded204d92f666e464ddb7ab89fecd9deb141d0f63d722cc3b5c36c3b4f47a555164ada35372435
7
- data.tar.gz: 4f3ddb8616a7a0120bad8f5358af118c2ee9b90698b4c7b9130bb72f4313e465504a96ebd524e053c2ed84d9ca3427fcbdf430e6063e5ae0795891d2f0e5c167
6
+ metadata.gz: eda0ce738c8de86a5f9364e7471d48be1323434e7d97f8503b174c6268d6daf785a1f4a57ce211c476d4e1c57270339fd7586e335a7f39ef7a73c06317f5c871
7
+ data.tar.gz: a21660802b3f6cf4657df4718cde39171739aea24fbafb3711d066f00ccb8ef277c5263f7ccbe7a6dc31078f40934322e83fe8e68f2985b850a98bce12c9e1eb
@@ -71,7 +71,7 @@ module PatronusFati
71
71
  def mark_visible
72
72
  rotate_presence
73
73
 
74
- self.first_seen ||= Time.now.to_i
74
+ set_first_seen unless first_seen
75
75
  self.current_presence.set_bit(current_bit_offset)
76
76
  end
77
77
 
@@ -87,6 +87,14 @@ module PatronusFati
87
87
  self.current_presence = BitField.new(WINDOW_INTERVALS)
88
88
  end
89
89
 
90
+ # Set the time we first saw whatever we're tracking to be the beginning of
91
+ # the current interval. This prevents negative durations in the event we
92
+ # only see it once.
93
+ def set_first_seen
94
+ cur_time = Time.now.to_i
95
+ self.first_seen = cur_time - (cur_time % INTERVAL_DURATION)
96
+ end
97
+
90
98
  # Translate a bit into an absolute unix time relative to the reference
91
99
  # window
92
100
  def time_for_bit(reference_window, bit)
@@ -1,3 +1,3 @@
1
1
  module PatronusFati
2
- VERSION = '1.1.0'
2
+ VERSION = '1.1.1'
3
3
  end
@@ -97,7 +97,7 @@ RSpec.describe(PatronusFati::Presence) do
97
97
  end
98
98
 
99
99
  it 'should set the first_seen timestamp if it hasn\'t been seen yet' do
100
- expect { subject.mark_visible }.to change { subject.first_seen }.from(nil).to(Time.now.to_i)
100
+ expect { subject.mark_visible }.to change { subject.first_seen }.from(nil)
101
101
  end
102
102
 
103
103
  it 'should not modify the first_seen timestamp if it has already been set' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: patronus_fati
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Stelfox