prospector 0.4.0 → 0.4.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3710b3639a273c0a4e3eb060a87cfe3be9e37891
4
- data.tar.gz: 73d9f3f4093893b2032a426952fabfbb16fb8afc
3
+ metadata.gz: d6103d636c38c2f30be31347ee92326d4ffe84d4
4
+ data.tar.gz: cc0a7d29d72658a8badc5cf73b95adc1afeae974
5
5
  SHA512:
6
- metadata.gz: bbfe7653349e46e4a2e2bc2900e761b118c988c923fc34fef29912633780222ae86a79c92b9294f6860c0f12a63e531be85972fc405005c2ff3907597a27da8f
7
- data.tar.gz: dc6bd917e44f164397d2b1691e17c2dd19d9036f2b67e3961741289bc9978d4f29daa143957d468e33311227570adb38b86186ee6bd94ebdf1ab8b66317d09fb
6
+ metadata.gz: a64bd0fb70d3068e94200267779362b432f5724c9cd4416f6b1ee0176e094c81b1a7415e55c55d68ae645adbe1535547f27d6245ea40bf1f889af54aefff72c9
7
+ data.tar.gz: ee493defe6697f5e21fa92d30a50a65fe0c2038408a42d42a801eaebaeadd0b21cef2b914b886e2d05348b86e0ca9ada98e0db4965a625ebf9050f1606d1d112
@@ -1,13 +1,22 @@
1
1
  module Prospector
2
2
  module Background
3
- autoload :Coordinator, 'prospector/background/coordinator'
4
- autoload :NotifyJob, 'prospector/background/notify_job'
5
- autoload :NotifyWorker, 'prospector/background/notify_worker'
3
+ autoload :Coordinator, 'prospector/background/coordinator'
4
+ autoload :EnvironmentDetector, 'prospector/background/environment_detector'
5
+ autoload :NotifyJob, 'prospector/background/notify_job'
6
+ autoload :NotifyWorker, 'prospector/background/notify_worker'
7
+
8
+ module_function
6
9
 
7
10
  def enqueue
8
- Coordinator.new.enqueue
11
+ service = Coordinator.new
12
+
13
+ service.enqueue
9
14
  end
10
15
 
11
- module_function :enqueue
16
+ def auto_reporting_enabled?
17
+ service = EnvironmentDetector.new
18
+
19
+ service.rails_server?
20
+ end
12
21
  end
13
22
  end
@@ -0,0 +1,49 @@
1
+ module Prospector; module Background
2
+ class EnvironmentDetector
3
+ RAILS_SERVERS = %w(passenger unicorn puma thin rainbows webrick).freeze
4
+
5
+ def rails_server?
6
+ RAILS_SERVERS.each do |server_name|
7
+ return true if send("running_#{ server_name }?")
8
+ end
9
+
10
+ false
11
+ end
12
+
13
+ private
14
+
15
+ def running_passenger?
16
+ defined?(::PhusionPassenger)
17
+ end
18
+
19
+ def running_unicorn?
20
+ return false unless defined?(::Unicorn) && defined?(::Unicorn::HttpServer)
21
+
22
+ running_instance_of?(::Unicorn::HttpServer)
23
+ end
24
+
25
+ def running_puma?
26
+ defined?(::Puma) && File.basename($0) == 'puma'
27
+ end
28
+
29
+ def running_thin?
30
+ return false unless defined?(::Thin) && defined?(::Thin::Server)
31
+
32
+ running_instance_of?(::Thin::HttpServer)
33
+ end
34
+
35
+ def running_rainbows?
36
+ return false unless defined?(::Rainbows) && defined?(::Rainbows::HttpServer)
37
+
38
+ running_instance_of?(::Rainbows::HttpServer)
39
+ end
40
+
41
+ def running_webrick?
42
+ defined?(::WEBrick) && defined?(::WEBrick::VERSION)
43
+ end
44
+
45
+ def running_instance_of?(klass)
46
+ ObjectSpace.each_object(klass).any?
47
+ end
48
+ end
49
+ end; end
@@ -1,7 +1,7 @@
1
1
  module Prospector
2
2
  class Railtie < Rails::Railtie
3
3
  config.after_initialize do
4
- Background.enqueue unless Object.const_defined?('Rake')
4
+ Background.enqueue if Background.auto_reporting_enabled?
5
5
  end
6
6
 
7
7
  rake_tasks do
@@ -1,3 +1,3 @@
1
1
  module Prospector
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prospector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Millsaps-Brewer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-10 00:00:00.000000000 Z
11
+ date: 2015-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -116,6 +116,7 @@ files:
116
116
  - lib/prospector.rb
117
117
  - lib/prospector/background.rb
118
118
  - lib/prospector/background/coordinator.rb
119
+ - lib/prospector/background/environment_detector.rb
119
120
  - lib/prospector/background/notify_job.rb
120
121
  - lib/prospector/background/notify_worker.rb
121
122
  - lib/prospector/client.rb