easymon 1.0.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of easymon might be problematic. Click here for more details.

Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +20 -0
  3. data/README.md +231 -0
  4. data/Rakefile +40 -0
  5. data/app/assets/javascripts/easymon/application.js +15 -0
  6. data/app/assets/javascripts/easymon/checks.js +2 -0
  7. data/app/assets/stylesheets/easymon/application.css +13 -0
  8. data/app/assets/stylesheets/easymon/checks.css +4 -0
  9. data/app/controllers/easymon/application_controller.rb +4 -0
  10. data/app/controllers/easymon/checks_controller.rb +55 -0
  11. data/app/helpers/easymon/application_helper.rb +4 -0
  12. data/app/helpers/easymon/checks_helper.rb +4 -0
  13. data/app/views/layouts/easymon/application.html.erb +14 -0
  14. data/config/routes.rb +6 -0
  15. data/lib/easymon.rb +64 -0
  16. data/lib/easymon/checklist.rb +57 -0
  17. data/lib/easymon/checks/active_record_check.rb +26 -0
  18. data/lib/easymon/checks/http_check.rb +29 -0
  19. data/lib/easymon/checks/memcached_check.rb +27 -0
  20. data/lib/easymon/checks/redis_check.rb +31 -0
  21. data/lib/easymon/checks/semaphore_check.rb +26 -0
  22. data/lib/easymon/checks/split_active_record_check.rb +55 -0
  23. data/lib/easymon/checks/traffic_enabled_check.rb +13 -0
  24. data/lib/easymon/engine.rb +8 -0
  25. data/lib/easymon/repository.rb +46 -0
  26. data/lib/easymon/result.rb +32 -0
  27. data/lib/easymon/testing.rb +15 -0
  28. data/lib/easymon/version.rb +3 -0
  29. data/lib/tasks/easymon_tasks.rake +4 -0
  30. data/test/controllers/easymon/checks_controller_test.rb +61 -0
  31. data/test/dummy/README.rdoc +261 -0
  32. data/test/dummy/Rakefile +7 -0
  33. data/test/dummy/app/assets/javascripts/application.js +15 -0
  34. data/test/dummy/app/assets/javascripts/easymon.js +2 -0
  35. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  36. data/test/dummy/app/assets/stylesheets/easymon.css +4 -0
  37. data/test/dummy/app/controllers/application_controller.rb +3 -0
  38. data/test/dummy/app/controllers/easymon_controller.rb +7 -0
  39. data/test/dummy/app/helpers/application_helper.rb +2 -0
  40. data/test/dummy/app/helpers/easymon_helper.rb +2 -0
  41. data/test/dummy/app/views/easymon/index.html.erb +2 -0
  42. data/test/dummy/app/views/easymon/show.html.erb +2 -0
  43. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  44. data/test/dummy/config.ru +4 -0
  45. data/test/dummy/config/application.rb +59 -0
  46. data/test/dummy/config/boot.rb +10 -0
  47. data/test/dummy/config/database.yml +34 -0
  48. data/test/dummy/config/elasticsearch.yml +2 -0
  49. data/test/dummy/config/environment.rb +5 -0
  50. data/test/dummy/config/environments/development.rb +39 -0
  51. data/test/dummy/config/environments/production.rb +67 -0
  52. data/test/dummy/config/environments/test.rb +41 -0
  53. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  54. data/test/dummy/config/initializers/easymon.rb +6 -0
  55. data/test/dummy/config/initializers/inflections.rb +15 -0
  56. data/test/dummy/config/initializers/mime_types.rb +5 -0
  57. data/test/dummy/config/initializers/secret_token.rb +7 -0
  58. data/test/dummy/config/initializers/session_store.rb +8 -0
  59. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  60. data/test/dummy/config/locales/en.yml +5 -0
  61. data/test/dummy/config/memcached.yml +6 -0
  62. data/test/dummy/config/redis.yml +11 -0
  63. data/test/dummy/config/routes.rb +3 -0
  64. data/test/dummy/public/404.html +26 -0
  65. data/test/dummy/public/422.html +26 -0
  66. data/test/dummy/public/500.html +25 -0
  67. data/test/dummy/public/favicon.ico +0 -0
  68. data/test/dummy/script/rails +6 -0
  69. data/test/helpers/easymon/checks_helper_test.rb +6 -0
  70. data/test/integration/navigation_test.rb +10 -0
  71. data/test/test_helper.rb +33 -0
  72. data/test/unit/checklist_test.rb +71 -0
  73. data/test/unit/checks/active_record_check_test.rb +33 -0
  74. data/test/unit/checks/http_check_test.rb +36 -0
  75. data/test/unit/checks/memcached_check_test.rb +39 -0
  76. data/test/unit/checks/redis_check_test.rb +35 -0
  77. data/test/unit/checks/semaphore_check_test.rb +20 -0
  78. data/test/unit/checks/split_active_record_check_test.rb +70 -0
  79. data/test/unit/checks/traffic_enabled_check_test.rb +21 -0
  80. data/test/unit/repository_test.rb +58 -0
  81. metadata +273 -0
@@ -0,0 +1,33 @@
1
+ require 'test_helper'
2
+
3
+ class ActiveRecordCheckTest < ActiveSupport::TestCase
4
+
5
+ test "#check returns a successful result on a good run" do
6
+ check = create_check
7
+ results = check.check
8
+
9
+ assert_equal(true, results[0])
10
+ assert_equal("Up", results[1])
11
+ end
12
+
13
+ test "#check returns a failed result on a failed run" do
14
+ ActiveRecord::Base.connection.stubs(:select_value).raises("boom")
15
+ check = create_check
16
+ results = check.check
17
+
18
+ assert_equal(false, results[0])
19
+ assert_equal("Down", results[1])
20
+ end
21
+
22
+ test "given nil as a config" do
23
+ check = Easymon::ActiveRecordCheck.new(nil)
24
+ results = check.check
25
+ assert_equal("Down", results[1])
26
+ assert_equal(false, results[0])
27
+ end
28
+
29
+ private
30
+ def create_check
31
+ Easymon::ActiveRecordCheck.new(ActiveRecord::Base)
32
+ end
33
+ end
@@ -0,0 +1,36 @@
1
+ require 'test_helper'
2
+
3
+ class HttpCheckTest < ActiveSupport::TestCase
4
+
5
+ test "#run sets success conditions on successful run" do
6
+ RestClient::Request.any_instance.stubs(:execute).returns(true)
7
+ check = create_check
8
+ results = check.check
9
+
10
+ assert_equal("Up", results[1])
11
+ assert_equal(true, results[0])
12
+ end
13
+
14
+ test "#run sets failure conditions on a failed run" do
15
+ RestClient::Request.any_instance.stubs(:execute).raises("boom")
16
+ check = create_check
17
+ results = check.check
18
+
19
+ assert_equal("Down", results[1])
20
+ assert_equal(false, results[0])
21
+ end
22
+
23
+ test "given nil as a url" do
24
+ check = Easymon::HttpCheck.new(nil)
25
+ results = check.check
26
+ assert_equal("Down", results[1])
27
+ assert_equal(false, results[0])
28
+ end
29
+
30
+
31
+ private
32
+ def create_check
33
+ # Fake URL
34
+ Easymon::HttpCheck.new("http://localhost:9200")
35
+ end
36
+ end
@@ -0,0 +1,39 @@
1
+ require 'test_helper'
2
+
3
+ class MemcachedCheckTest < ActiveSupport::TestCase
4
+
5
+ test "#run sets success conditions on successful run" do
6
+ check = Easymon::MemcachedCheck.new(Rails.cache)
7
+ results = check.check
8
+
9
+ assert_equal("Up", results[1])
10
+ assert_equal(true, results[0])
11
+ end
12
+
13
+ test "#run sets failure conditions on a failed run" do
14
+ Rails.cache.stubs(:write).raises("boom")
15
+ check = Easymon::MemcachedCheck.new(Rails.cache)
16
+ results = check.check
17
+
18
+ assert_equal("Down", results[1])
19
+ assert_equal(false, results[0])
20
+ end
21
+
22
+ test "fails when passed nil as a cache" do
23
+ check = Easymon::MemcachedCheck.new(nil)
24
+ results = check.check
25
+
26
+ assert_equal("Down", results[1])
27
+ assert_equal(false, results[0])
28
+ end
29
+
30
+ test "fails when passed a cache with no servers" do
31
+ dalli = Dalli::Client.new('', {:namespace => "easymon"})
32
+ check = Easymon::MemcachedCheck.new(dalli)
33
+ results = check.check
34
+
35
+ assert_equal("Down", results[1])
36
+ assert_equal(false, results[0])
37
+ end
38
+
39
+ end
@@ -0,0 +1,35 @@
1
+ require 'test_helper'
2
+
3
+ class RedisCheckTest < ActiveSupport::TestCase
4
+
5
+ test "#run sets success conditions on successful run" do
6
+ check = create_check
7
+ results = check.check
8
+
9
+ assert_equal("Up", results[1])
10
+ assert_equal(true, results[0])
11
+ end
12
+
13
+ test "#run sets failure conditions on a failed run" do
14
+ Redis.any_instance.stubs(:ping).raises("boom")
15
+ check = create_check
16
+ results = check.check
17
+
18
+ assert_equal("Down", results[1])
19
+ assert_equal(false, results[0])
20
+ end
21
+
22
+ test "given nil as a config" do
23
+ check = Easymon::RedisCheck.new(nil)
24
+ results = check.check
25
+ assert_equal("Down", results[1])
26
+ assert_equal(false, results[0])
27
+ end
28
+
29
+
30
+ private
31
+ def create_check
32
+ # Get us a config hash from disk in this case
33
+ Easymon::RedisCheck.new(YAML.load_file(Rails.root.join("config/redis.yml"))[Rails.env].symbolize_keys)
34
+ end
35
+ end
@@ -0,0 +1,20 @@
1
+ require 'test_helper'
2
+
3
+ class SemaphoreCheckTest < ActiveSupport::TestCase
4
+
5
+ test "#run sets success conditions on successful run" do
6
+ check = Easymon::SemaphoreCheck.new("config/redis.yml")
7
+ results = check.check
8
+
9
+ assert_equal(true, results[0])
10
+ assert_equal("config/redis.yml is in place!", results[1])
11
+ end
12
+
13
+ test "#run sets failure conditions on a failed run" do
14
+ check = Easymon::SemaphoreCheck.new("config/file-does-not-exist")
15
+ results = check.check
16
+
17
+ assert_equal(false, results[0])
18
+ assert_equal("config/file-does-not-exist does not exist!", results[1])
19
+ end
20
+ end
@@ -0,0 +1,70 @@
1
+ require 'test_helper'
2
+
3
+ class SplitActiveRecordCheckTest < ActiveSupport::TestCase
4
+
5
+ test "#run sets success conditions on successful run" do
6
+ master = ActiveRecord::Base.connection
7
+ Easymon::Base.establish_connection
8
+ slave = Easymon::Base.connection
9
+
10
+ check = Easymon::SplitActiveRecordCheck.new { [master, slave] }
11
+
12
+ results = check.check
13
+
14
+ assert_equal("Master: Up - Slave: Up", results[1])
15
+ assert_equal(true, results[0])
16
+ end
17
+
18
+ test "#run sets failed conditions when slave is down" do
19
+ master = ActiveRecord::Base.connection
20
+ Easymon::Base.establish_connection
21
+ slave = Easymon::Base.connection
22
+
23
+ slave.stubs(:select_value).raises("boom")
24
+
25
+ check = Easymon::SplitActiveRecordCheck.new { [master, slave] }
26
+ results = check.check
27
+
28
+ assert_equal("Master: Up - Slave: Down", results[1])
29
+ assert_equal(false, results[0])
30
+ end
31
+
32
+ test "#run sets failed conditions when master is down" do
33
+ master = ActiveRecord::Base.connection
34
+ Easymon::Base.establish_connection
35
+ slave = Easymon::Base.connection
36
+
37
+ master.stubs(:select_value).raises("boom")
38
+
39
+ check = Easymon::SplitActiveRecordCheck.new { [master, slave] }
40
+ results = check.check
41
+
42
+ assert_equal("Master: Down - Slave: Up", results[1])
43
+ assert_equal(false, results[0])
44
+ end
45
+
46
+ test "given nil as a config" do
47
+ check = Easymon::SplitActiveRecordCheck.new { }
48
+ results = check.check
49
+ assert_equal("Master: Down - Slave: Down", results[1])
50
+ assert_equal(false, results[0])
51
+ end
52
+ end
53
+
54
+ # This would be done in the host app
55
+ module Easymon
56
+ class Base < ActiveRecord::Base
57
+ def establish_connection(spec = nil)
58
+ if spec
59
+ super
60
+ elsif config = Easymon.database_configuration
61
+ super config
62
+ end
63
+ end
64
+
65
+ def database_configuration
66
+ env = "#{Rails.env}_slave"
67
+ config = YAML.load_file(Rails.root.join('config/database.yml'))[env]
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+
3
+ class TrafficEnabledCheckTest < ActiveSupport::TestCase
4
+
5
+ test "#check sets success conditions on successful run" do
6
+ # Using a file we know exists in the test
7
+ check = Easymon::TrafficEnabledCheck.new("config/redis.yml")
8
+ results = check.check
9
+
10
+ assert_equal(true, results[0])
11
+ assert_equal("ENABLED", results[1])
12
+ end
13
+
14
+ test "#check sets failure conditions on a failed run" do
15
+ check = Easymon::TrafficEnabledCheck.new("config/file-does-not-exist")
16
+ results = check.check
17
+
18
+ assert_equal(false, results[0])
19
+ assert_equal("DISABLED", results[1])
20
+ end
21
+ end
@@ -0,0 +1,58 @@
1
+ require 'test_helper'
2
+
3
+ class RepositoryTest < ActiveSupport::TestCase
4
+
5
+ test "we can add a check to the repository" do
6
+ Easymon::Repository.add("database", Easymon::ActiveRecordCheck.new(ActiveRecord::Base))
7
+ check = Easymon::Repository.fetch("database")
8
+
9
+ assert_equal 1, Easymon::Repository.repository.size, Easymon::Repository.repository.inspect
10
+ assert check.instance_of? Easymon::ActiveRecordCheck
11
+ end
12
+
13
+ test "we can remove a check from the repository" do
14
+ Easymon::Repository.add("database", Easymon::ActiveRecordCheck.new(ActiveRecord::Base))
15
+ assert_equal 1, Easymon::Repository.repository.size
16
+
17
+ Easymon::Repository.remove("database")
18
+ exception = assert_raises Easymon::NoSuchCheck do
19
+ Easymon::Repository.fetch("database")
20
+ end
21
+
22
+ assert_equal "No check named 'database'", exception.message
23
+ assert_equal 0, Easymon::Repository.repository.size
24
+ end
25
+
26
+ test "returns a checklist when asked" do
27
+ Easymon::Repository.add("database", Easymon::ActiveRecordCheck.new(ActiveRecord::Base))
28
+ checklist = Easymon::Repository.all
29
+
30
+ assert checklist.instance_of? Easymon::Checklist
31
+ end
32
+
33
+ test "adds checks marked critical to the critical checklist" do
34
+ Easymon::Repository.add("database", Easymon::ActiveRecordCheck.new(ActiveRecord::Base), true)
35
+
36
+ assert Easymon::Repository.critical.include?("database")
37
+ end
38
+
39
+ test "adds a check to the repository for the critical checklist" do
40
+ Easymon::Repository.add("database", Easymon::ActiveRecordCheck.new(ActiveRecord::Base), true)
41
+
42
+ assert Easymon::Repository.repository.include?("critical")
43
+ end
44
+
45
+ test "fetches a check by name" do
46
+ Easymon::Repository.add("database", Easymon::ActiveRecordCheck.new(ActiveRecord::Base))
47
+ check = Easymon::Repository.fetch("database")
48
+
49
+ assert check.instance_of? Easymon::ActiveRecordCheck
50
+ end
51
+
52
+ test "fetches a critical check by name" do
53
+ Easymon::Repository.add("database", Easymon::ActiveRecordCheck.new(ActiveRecord::Base), true)
54
+ check = Easymon::Repository.fetch("database")
55
+
56
+ assert check.instance_of? Easymon::ActiveRecordCheck
57
+ end
58
+ end
metadata ADDED
@@ -0,0 +1,273 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: easymon
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.6
5
+ platform: ruby
6
+ authors:
7
+ - Nathan Anderson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-05-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: redis
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ - - '>='
49
+ - !ruby/object:Gem::Version
50
+ version: '4.0'
51
+ - - '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 2.3.18
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '3.0'
61
+ - - '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '4.0'
64
+ - - '>='
65
+ - !ruby/object:Gem::Version
66
+ version: 2.3.18
67
+ - !ruby/object:Gem::Dependency
68
+ name: mysql2
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ~>
72
+ - !ruby/object:Gem::Version
73
+ version: '0.3'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ~>
79
+ - !ruby/object:Gem::Version
80
+ version: '0.3'
81
+ - !ruby/object:Gem::Dependency
82
+ name: mocha
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: '1.1'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ version: '1.1'
95
+ - !ruby/object:Gem::Dependency
96
+ name: dalli
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '2.7'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ~>
107
+ - !ruby/object:Gem::Version
108
+ version: '2.7'
109
+ description: |-
110
+ Enables your monitoring infrastructure to easily query the
111
+ status of your app server's health. Provides routes under
112
+ /up.
113
+ email:
114
+ - nathan@basecamp.com
115
+ executables: []
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - LICENSE
120
+ - README.md
121
+ - Rakefile
122
+ - app/assets/javascripts/easymon/application.js
123
+ - app/assets/javascripts/easymon/checks.js
124
+ - app/assets/stylesheets/easymon/application.css
125
+ - app/assets/stylesheets/easymon/checks.css
126
+ - app/controllers/easymon/application_controller.rb
127
+ - app/controllers/easymon/checks_controller.rb
128
+ - app/helpers/easymon/application_helper.rb
129
+ - app/helpers/easymon/checks_helper.rb
130
+ - app/views/layouts/easymon/application.html.erb
131
+ - config/routes.rb
132
+ - lib/easymon.rb
133
+ - lib/easymon/checklist.rb
134
+ - lib/easymon/checks/active_record_check.rb
135
+ - lib/easymon/checks/http_check.rb
136
+ - lib/easymon/checks/memcached_check.rb
137
+ - lib/easymon/checks/redis_check.rb
138
+ - lib/easymon/checks/semaphore_check.rb
139
+ - lib/easymon/checks/split_active_record_check.rb
140
+ - lib/easymon/checks/traffic_enabled_check.rb
141
+ - lib/easymon/engine.rb
142
+ - lib/easymon/repository.rb
143
+ - lib/easymon/result.rb
144
+ - lib/easymon/testing.rb
145
+ - lib/easymon/version.rb
146
+ - lib/tasks/easymon_tasks.rake
147
+ - test/controllers/easymon/checks_controller_test.rb
148
+ - test/dummy/README.rdoc
149
+ - test/dummy/Rakefile
150
+ - test/dummy/app/assets/javascripts/application.js
151
+ - test/dummy/app/assets/javascripts/easymon.js
152
+ - test/dummy/app/assets/stylesheets/application.css
153
+ - test/dummy/app/assets/stylesheets/easymon.css
154
+ - test/dummy/app/controllers/application_controller.rb
155
+ - test/dummy/app/controllers/easymon_controller.rb
156
+ - test/dummy/app/helpers/application_helper.rb
157
+ - test/dummy/app/helpers/easymon_helper.rb
158
+ - test/dummy/app/views/easymon/index.html.erb
159
+ - test/dummy/app/views/easymon/show.html.erb
160
+ - test/dummy/app/views/layouts/application.html.erb
161
+ - test/dummy/config.ru
162
+ - test/dummy/config/application.rb
163
+ - test/dummy/config/boot.rb
164
+ - test/dummy/config/database.yml
165
+ - test/dummy/config/elasticsearch.yml
166
+ - test/dummy/config/environment.rb
167
+ - test/dummy/config/environments/development.rb
168
+ - test/dummy/config/environments/production.rb
169
+ - test/dummy/config/environments/test.rb
170
+ - test/dummy/config/initializers/backtrace_silencers.rb
171
+ - test/dummy/config/initializers/easymon.rb
172
+ - test/dummy/config/initializers/inflections.rb
173
+ - test/dummy/config/initializers/mime_types.rb
174
+ - test/dummy/config/initializers/secret_token.rb
175
+ - test/dummy/config/initializers/session_store.rb
176
+ - test/dummy/config/initializers/wrap_parameters.rb
177
+ - test/dummy/config/locales/en.yml
178
+ - test/dummy/config/memcached.yml
179
+ - test/dummy/config/redis.yml
180
+ - test/dummy/config/routes.rb
181
+ - test/dummy/public/404.html
182
+ - test/dummy/public/422.html
183
+ - test/dummy/public/500.html
184
+ - test/dummy/public/favicon.ico
185
+ - test/dummy/script/rails
186
+ - test/helpers/easymon/checks_helper_test.rb
187
+ - test/integration/navigation_test.rb
188
+ - test/test_helper.rb
189
+ - test/unit/checklist_test.rb
190
+ - test/unit/checks/active_record_check_test.rb
191
+ - test/unit/checks/http_check_test.rb
192
+ - test/unit/checks/memcached_check_test.rb
193
+ - test/unit/checks/redis_check_test.rb
194
+ - test/unit/checks/semaphore_check_test.rb
195
+ - test/unit/checks/split_active_record_check_test.rb
196
+ - test/unit/checks/traffic_enabled_check_test.rb
197
+ - test/unit/repository_test.rb
198
+ homepage: https://github.com/basecamp/easymon
199
+ licenses:
200
+ - MIT
201
+ metadata: {}
202
+ post_install_message:
203
+ rdoc_options: []
204
+ require_paths:
205
+ - lib
206
+ required_ruby_version: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - '>='
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ required_rubygems_version: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - '>='
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ requirements: []
217
+ rubyforge_project:
218
+ rubygems_version: 2.2.2
219
+ signing_key:
220
+ specification_version: 4
221
+ summary: Simple availability checks for your rails app
222
+ test_files:
223
+ - test/controllers/easymon/checks_controller_test.rb
224
+ - test/dummy/app/assets/javascripts/application.js
225
+ - test/dummy/app/assets/javascripts/easymon.js
226
+ - test/dummy/app/assets/stylesheets/application.css
227
+ - test/dummy/app/assets/stylesheets/easymon.css
228
+ - test/dummy/app/controllers/application_controller.rb
229
+ - test/dummy/app/controllers/easymon_controller.rb
230
+ - test/dummy/app/helpers/application_helper.rb
231
+ - test/dummy/app/helpers/easymon_helper.rb
232
+ - test/dummy/app/views/easymon/index.html.erb
233
+ - test/dummy/app/views/easymon/show.html.erb
234
+ - test/dummy/app/views/layouts/application.html.erb
235
+ - test/dummy/config/application.rb
236
+ - test/dummy/config/boot.rb
237
+ - test/dummy/config/database.yml
238
+ - test/dummy/config/elasticsearch.yml
239
+ - test/dummy/config/environment.rb
240
+ - test/dummy/config/environments/development.rb
241
+ - test/dummy/config/environments/production.rb
242
+ - test/dummy/config/environments/test.rb
243
+ - test/dummy/config/initializers/backtrace_silencers.rb
244
+ - test/dummy/config/initializers/easymon.rb
245
+ - test/dummy/config/initializers/inflections.rb
246
+ - test/dummy/config/initializers/mime_types.rb
247
+ - test/dummy/config/initializers/secret_token.rb
248
+ - test/dummy/config/initializers/session_store.rb
249
+ - test/dummy/config/initializers/wrap_parameters.rb
250
+ - test/dummy/config/locales/en.yml
251
+ - test/dummy/config/memcached.yml
252
+ - test/dummy/config/redis.yml
253
+ - test/dummy/config/routes.rb
254
+ - test/dummy/config.ru
255
+ - test/dummy/public/404.html
256
+ - test/dummy/public/422.html
257
+ - test/dummy/public/500.html
258
+ - test/dummy/public/favicon.ico
259
+ - test/dummy/Rakefile
260
+ - test/dummy/README.rdoc
261
+ - test/dummy/script/rails
262
+ - test/helpers/easymon/checks_helper_test.rb
263
+ - test/integration/navigation_test.rb
264
+ - test/test_helper.rb
265
+ - test/unit/checklist_test.rb
266
+ - test/unit/checks/active_record_check_test.rb
267
+ - test/unit/checks/http_check_test.rb
268
+ - test/unit/checks/memcached_check_test.rb
269
+ - test/unit/checks/redis_check_test.rb
270
+ - test/unit/checks/semaphore_check_test.rb
271
+ - test/unit/checks/split_active_record_check_test.rb
272
+ - test/unit/checks/traffic_enabled_check_test.rb
273
+ - test/unit/repository_test.rb