patronus_fati 0.9.18 → 0.9.19

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: 56fe66b027e400a737d8349574d19047d7de6a51
4
- data.tar.gz: eabafa19b672dac63295f6cab950b2dbdcbea8bc
3
+ metadata.gz: a2ff5c46601960d075707c8795cbeb3c5882d465
4
+ data.tar.gz: d64b783f10072de7900c6b03c8093401e3cc0605
5
5
  SHA512:
6
- metadata.gz: b5ca323e13eb200d944bfc9e15224138016dc960675c526471419b9b34471060e3a049183c99e8e98547e01cc562ffb5081a8cb59fac2facb8da1da20dcc5c1a
7
- data.tar.gz: 2a8eed2a3f0c7622f11a1b2534b4c5f8fcde6687f565fe9d09fd874e734d4ffe7bca543eb40edf9597a2bd3e4393e9285d695da0c385cbb9caf9a40984c83c8e
6
+ metadata.gz: b1db0460c5073af34292519924691b7956a712c90a95b94ea784c779e4d58020467563665b54337d748d50818e345d568856fdf92f4b2be72c9278d65bcf75c4
7
+ data.tar.gz: 17599966bf969867f06528dd4841b743ee890f696c9ae8716e7cf2d3f2fa4269ac0608c945e0295745ebdf16e8ae7d157f63cea7a920c1fb416c5357048de661
@@ -6,7 +6,7 @@ module PatronusFati
6
6
  @next_cleanup ||= Time.now.to_i + 60
7
7
 
8
8
  if @next_cleanup <= Time.now.to_i
9
- @next_cleanup = Time.now.to_i + 10
9
+ @next_cleanup = Time.now.to_i + 30
10
10
 
11
11
  PatronusFati::DataModels::AccessPoint.inactive.reported_online.each do |ap|
12
12
  ap.update(:reported_online => false)
@@ -47,8 +47,34 @@ module PatronusFati
47
47
  end
48
48
  end
49
49
 
50
+ def self.report_recently_seen
51
+ # Every four minutes to ensure we hit the five minute window
52
+ @next_recent_msg ||= Time.now.to_i + 240
53
+
54
+ if @next_recent_msg <= Time.now.to_i
55
+ @next_recent_msg = Time.now.to_i + 240
56
+
57
+ aps = PatronusFati::DataModels::AccessPoint.all(
58
+ :last_seen_at.gte => (Time.now.to_i - 300),
59
+ :fields => [:last_seen_at, :bssid]
60
+ ).map { |c| c.bssid }
61
+ clients = PatronusFati::DataModels::Client.all(
62
+ :last_seen_at.gte => (Time.now.to_i - 300),
63
+ :fields => [:last_seen_at, :bssid]
64
+ ).map { |c| c.bssid }
65
+
66
+ return if clients.empty? && aps.empty?
67
+ PatronusFati.event_handler.event(
68
+ :sync,
69
+ :recent,
70
+ { access_points: aps, clients: clients }
71
+ )
72
+ end
73
+ end
74
+
50
75
  def self.handle(message_obj)
51
76
  periodic_flush
77
+ report_recently_seen
52
78
  result = factory(class_to_name(message_obj), message_obj)
53
79
  cleanup_models
54
80
  result
@@ -1,3 +1,3 @@
1
1
  module PatronusFati
2
- VERSION = '0.9.18'
2
+ VERSION = '0.9.19'
3
3
  end
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: 0.9.18
4
+ version: 0.9.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Stelfox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-15 00:00:00.000000000 Z
11
+ date: 2016-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dm-constraints
@@ -383,4 +383,3 @@ test_files:
383
383
  - spec/data_models/mac_spec.rb
384
384
  - spec/patronus_fati_spec.rb
385
385
  - spec/spec_helper.rb
386
- has_rdoc: