is_it_working-cbeer 1.0.14 → 1.0.15
Sign up to get free protection for your applications and to get access to all the features.
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.15
|
data/lib/is_it_working.rb
CHANGED
@@ -11,10 +11,13 @@ module IsItWorking
|
|
11
11
|
autoload :ActionMailerCheck, File.expand_path("../is_it_working/checks/action_mailer_check.rb", __FILE__)
|
12
12
|
autoload :ActiveRecordCheck, File.expand_path("../is_it_working/checks/active_record_check.rb", __FILE__)
|
13
13
|
autoload :RubydoraCheck, File.expand_path("../is_it_working/checks/rubydora_check.rb", __FILE__)
|
14
|
+
autoload :BundlerCheck, File.expand_path("../is_it_working/checks/bundler_check.rb", __FILE__)
|
14
15
|
autoload :DalliCheck, File.expand_path("../is_it_working/checks/dalli_check.rb", __FILE__)
|
15
16
|
autoload :DirectoryCheck, File.expand_path("../is_it_working/checks/directory_check.rb", __FILE__)
|
17
|
+
autoload :EnvCheck, File.expand_path("../is_it_working/checks/env_check.rb", __FILE__)
|
16
18
|
autoload :MemcacheCheck, File.expand_path("../is_it_working/checks/memcache_check.rb", __FILE__)
|
17
19
|
autoload :PingCheck, File.expand_path("../is_it_working/checks/ping_check.rb", __FILE__)
|
20
|
+
autoload :RequestCheck, File.expand_path("../is_it_working/checks/request_check.rb", __FILE__)
|
18
21
|
autoload :RsolrCheck, File.expand_path("../is_it_working/checks/rsolr_check.rb", __FILE__)
|
19
22
|
autoload :UrlCheck, File.expand_path("../is_it_working/checks/url_check.rb", __FILE__)
|
20
23
|
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module IsItWorking
|
2
|
+
class BundlerCheck
|
3
|
+
def initialize(options={})
|
4
|
+
end
|
5
|
+
|
6
|
+
def call(status)
|
7
|
+
|
8
|
+
gems.each do |gem|
|
9
|
+
status.info "#{gem[:name]} (#{gem[:version]}) [#{ gem[:dependencies].map { |x| "#{x[:name]} (#{x[:version]})" }.join(",") }]"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
def dependencies
|
15
|
+
@dependencies ||= Hash[groups.collect { |group,deps| [group,Hash[deps.collect { |dep| [dep.name,dependency_hash(environment, dep.name)] }]] }]
|
16
|
+
end
|
17
|
+
|
18
|
+
def environment
|
19
|
+
@environment ||= Bundler.load
|
20
|
+
end
|
21
|
+
|
22
|
+
def graph
|
23
|
+
@graph ||= Bundler::Graph.new(environment, '/dev/null')
|
24
|
+
end
|
25
|
+
|
26
|
+
def groups
|
27
|
+
@groups ||= environment.current_dependencies.group_by { |d| d.groups.first.to_s }
|
28
|
+
end
|
29
|
+
|
30
|
+
def version key
|
31
|
+
dependency_version key
|
32
|
+
end
|
33
|
+
|
34
|
+
def gems
|
35
|
+
|
36
|
+
graph.groups.map do |group|
|
37
|
+
nodes = graph.relations[group]
|
38
|
+
nodes.map { |gem| { :name => gem, :version => dependency_version(gem), :dependencies => graph.relations[gem].map { |d| { :name => d, :version => dependency_version(d) } } } }
|
39
|
+
end.flatten
|
40
|
+
end
|
41
|
+
|
42
|
+
def dependency_version(key)
|
43
|
+
spec = environment.specs.find { |s| s.name == key }
|
44
|
+
rev = spec.git_version
|
45
|
+
rev.strip! unless rev.nil?
|
46
|
+
location = [spec.source.options.values_at('path','uri').compact.first,rev].compact.join('@')
|
47
|
+
[spec.version.to_s,location].compact.join(' ').strip
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module IsItWorking
|
2
|
+
class EnvCheck
|
3
|
+
def initialize(options={})
|
4
|
+
@filter = options[:filter]
|
5
|
+
end
|
6
|
+
|
7
|
+
def call(status)
|
8
|
+
|
9
|
+
request_env.each do |key, value|
|
10
|
+
status.info "#{key}: #{value}"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
protected
|
15
|
+
|
16
|
+
def request_env
|
17
|
+
@request_env ||= begin
|
18
|
+
h = {}
|
19
|
+
|
20
|
+
environment.each_pair do |key,value|
|
21
|
+
if @filter.nil? or key.to_s =~ @filter
|
22
|
+
h[key] = value.to_s
|
23
|
+
end
|
24
|
+
end
|
25
|
+
h
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def environment
|
30
|
+
ENV
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
@@ -18,6 +18,10 @@ module IsItWorking
|
|
18
18
|
# SolrServer.available? ? ok("solr is up") : fail("solr is down")
|
19
19
|
# end
|
20
20
|
# end
|
21
|
+
class <<self
|
22
|
+
attr_accessor :request
|
23
|
+
end
|
24
|
+
|
21
25
|
class Handler
|
22
26
|
PATH_INFO = "PATH_INFO".freeze
|
23
27
|
|
@@ -39,6 +43,8 @@ module IsItWorking
|
|
39
43
|
end
|
40
44
|
|
41
45
|
def call(env)
|
46
|
+
IsItWorking.request = Rack::Request.new(env)
|
47
|
+
|
42
48
|
if @app.nil? || env[PATH_INFO] == @route_path
|
43
49
|
statuses = []
|
44
50
|
t = Time.now
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: is_it_working-cbeer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.15
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -113,10 +113,13 @@ files:
|
|
113
113
|
- lib/is_it_working.rb
|
114
114
|
- lib/is_it_working/checks/action_mailer_check.rb
|
115
115
|
- lib/is_it_working/checks/active_record_check.rb
|
116
|
+
- lib/is_it_working/checks/bundler_check.rb
|
116
117
|
- lib/is_it_working/checks/dalli_check.rb
|
117
118
|
- lib/is_it_working/checks/directory_check.rb
|
119
|
+
- lib/is_it_working/checks/env_check.rb
|
118
120
|
- lib/is_it_working/checks/memcache_check.rb
|
119
121
|
- lib/is_it_working/checks/ping_check.rb
|
122
|
+
- lib/is_it_working/checks/request_check.rb
|
120
123
|
- lib/is_it_working/checks/rsolr_check.rb
|
121
124
|
- lib/is_it_working/checks/rubydora_check.rb
|
122
125
|
- lib/is_it_working/checks/url_check.rb
|
@@ -152,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
152
155
|
version: '0'
|
153
156
|
segments:
|
154
157
|
- 0
|
155
|
-
hash:
|
158
|
+
hash: 2396910261490989725
|
156
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
160
|
none: false
|
158
161
|
requirements:
|
@@ -161,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
164
|
version: '0'
|
162
165
|
segments:
|
163
166
|
- 0
|
164
|
-
hash:
|
167
|
+
hash: 2396910261490989725
|
165
168
|
requirements: []
|
166
169
|
rubyforge_project:
|
167
170
|
rubygems_version: 1.8.24
|