flapjack 1.2.1 → 1.2.2
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 +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +11 -12
- data/CHANGELOG.md +10 -0
- data/Gemfile +0 -7
- data/Rakefile +0 -1
- data/bin/flapjack +2 -0
- data/etc/flapjack_config.yaml.example +20 -0
- data/features/ack_after_sched_maint.feature +1 -1
- data/features/cli.feature +1 -1
- data/features/notification_rules.feature +1 -1
- data/features/notifications.feature +0 -9
- data/features/rollup.feature +1 -1
- data/features/steps/events_steps.rb +20 -8
- data/features/steps/notifications_steps.rb +62 -75
- data/features/support/env.rb +17 -8
- data/flapjack.gemspec +4 -4
- data/lib/flapjack.rb +3 -0
- data/lib/flapjack/cli/import.rb +1 -0
- data/lib/flapjack/cli/maintenance.rb +1 -0
- data/lib/flapjack/cli/purge.rb +2 -0
- data/lib/flapjack/cli/receiver.rb +1 -0
- data/lib/flapjack/cli/simulate.rb +1 -0
- data/lib/flapjack/data/alert.rb +28 -1
- data/lib/flapjack/data/contact.rb +1 -1
- data/lib/flapjack/data/entity.rb +18 -8
- data/lib/flapjack/data/entity_check.rb +17 -0
- data/lib/flapjack/data/event.rb +33 -15
- data/lib/flapjack/data/migration.rb +46 -23
- data/lib/flapjack/filters/delays.rb +13 -6
- data/lib/flapjack/gateways/aws_sns.rb +115 -88
- data/lib/flapjack/gateways/aws_sns/alert.text.erb +2 -1
- data/lib/flapjack/gateways/email.rb +145 -135
- data/lib/flapjack/gateways/email/alert.html.erb +6 -4
- data/lib/flapjack/gateways/email/alert.text.erb +2 -0
- data/lib/flapjack/gateways/jabber.rb +61 -1
- data/lib/flapjack/gateways/jabber/alert.text.erb +1 -1
- data/lib/flapjack/gateways/pagerduty/alert.text.erb +1 -1
- data/lib/flapjack/gateways/sms_gammu.rb +119 -0
- data/lib/flapjack/gateways/sms_messagenet.rb +95 -67
- data/lib/flapjack/gateways/sms_messagenet/alert.text.erb +2 -1
- data/lib/flapjack/gateways/sms_twilio.rb +102 -74
- data/lib/flapjack/gateways/sms_twilio/alert.text.erb +2 -1
- data/lib/flapjack/logger.rb +1 -1
- data/lib/flapjack/notifier.rb +5 -14
- data/lib/flapjack/patches.rb +0 -58
- data/lib/flapjack/pikelet.rb +8 -78
- data/lib/flapjack/processor.rb +3 -1
- data/lib/flapjack/redis_pool.rb +2 -0
- data/lib/flapjack/version.rb +1 -1
- data/spec/lib/flapjack/data/contact_spec.rb +2 -2
- data/spec/lib/flapjack/data/entity_spec.rb +15 -0
- data/spec/lib/flapjack/data/event_spec.rb +2 -2
- data/spec/lib/flapjack/data/migration_spec.rb +11 -0
- data/spec/lib/flapjack/gateways/aws_sns_spec.rb +12 -8
- data/spec/lib/flapjack/gateways/email_spec.rb +56 -51
- data/spec/lib/flapjack/gateways/sms_messagenet_spec.rb +17 -12
- data/spec/lib/flapjack/gateways/sms_twilio_spec.rb +17 -12
- data/spec/lib/flapjack/pikelet_spec.rb +9 -23
- data/spec/lib/flapjack/redis_pool_spec.rb +1 -0
- data/tasks/profile.rake +25 -109
- metadata +37 -39
- data/Gemfile-ruby1.9 +0 -30
- data/Gemfile-ruby1.9.lock +0 -250
- data/tasks/benchmarks.rake +0 -237
@@ -12,10 +12,6 @@ describe Flapjack::Pikelet do
|
|
12
12
|
|
13
13
|
let(:time) { Time.now }
|
14
14
|
|
15
|
-
before do
|
16
|
-
Flapjack::Pikelet::Resque.class_variable_set(:@@resque_pool, nil)
|
17
|
-
end
|
18
|
-
|
19
15
|
it "creates and starts a processor pikelet" do
|
20
16
|
expect(Flapjack::Logger).to receive(:new).and_return(logger)
|
21
17
|
|
@@ -38,35 +34,25 @@ describe Flapjack::Pikelet do
|
|
38
34
|
pik.start
|
39
35
|
end
|
40
36
|
|
41
|
-
it "creates and starts a
|
37
|
+
it "creates and starts a generic worker gateway" do
|
42
38
|
expect(Flapjack::Logger).to receive(:new).and_return(logger)
|
43
39
|
|
44
40
|
expect(config).to receive(:[]).with('logger').and_return(nil)
|
45
|
-
expect(config).to receive(:[]).with('queue').and_return('email_notif')
|
46
|
-
|
47
|
-
resque_redis = double('resque_redis')
|
48
|
-
redis = double('redis')
|
49
|
-
expect(Flapjack::RedisPool).to receive(:new).twice.and_return(resque_redis, redis)
|
50
|
-
expect(Resque).to receive(:redis=).with(resque_redis)
|
51
41
|
|
52
|
-
|
53
|
-
with('@config', config)
|
54
|
-
expect(Flapjack::Gateways::Email).to receive(:instance_variable_set).
|
55
|
-
with('@redis', redis)
|
56
|
-
expect(Flapjack::Gateways::Email).to receive(:instance_variable_set).
|
57
|
-
with('@logger', logger)
|
42
|
+
fc = double('coordinator')
|
58
43
|
|
59
|
-
|
60
|
-
expect(
|
61
|
-
expect(Flapjack::Gateways::Email).to receive(:
|
62
|
-
|
44
|
+
email = double('email')
|
45
|
+
expect(email).to receive(:start)
|
46
|
+
expect(Flapjack::Gateways::Email).to receive(:new).with(:config => config,
|
47
|
+
:redis_config => redis_config, :boot_time => time, :logger => logger, :coordinator => fc).
|
48
|
+
and_return(email)
|
63
49
|
|
64
50
|
expect(fiber).to receive(:resume)
|
65
51
|
expect(Fiber).to receive(:new).and_yield.and_return(fiber)
|
66
52
|
|
67
53
|
pik = Flapjack::Pikelet.create('email', :config => config,
|
68
|
-
:redis_config => redis_config)
|
69
|
-
expect(pik).to be_a(Flapjack::Pikelet::
|
54
|
+
:redis_config => redis_config, :boot_time => time, :coordinator => fc)
|
55
|
+
expect(pik).to be_a(Flapjack::Pikelet::Generic)
|
70
56
|
pik.start
|
71
57
|
end
|
72
58
|
|
@@ -15,6 +15,7 @@ describe Flapjack::RedisPool do
|
|
15
15
|
expect(Flapjack::Data::Migration).to receive(:correct_notification_rule_contact_linkages).exactly(redis_count).times
|
16
16
|
expect(Flapjack::Data::Migration).to receive(:migrate_entity_check_data_if_required).exactly(redis_count).times
|
17
17
|
expect(Flapjack::Data::Migration).to receive(:create_entity_ids_if_required).exactly(redis_count).times
|
18
|
+
expect(Flapjack::Data::Migration).to receive(:clear_orphaned_entity_ids).exactly(redis_count).times
|
18
19
|
expect(Flapjack::Data::Migration).to receive(:refresh_archive_index).exactly(redis_count).times
|
19
20
|
expect(Flapjack::Data::Migration).to receive(:validate_scheduled_maintenance_periods).exactly(redis_count).times
|
20
21
|
|
data/tasks/profile.rake
CHANGED
@@ -11,7 +11,6 @@ namespace :profile do
|
|
11
11
|
FLAPJACK_PORT = ((port > 1024) && (port <= 65535)) ? port : 8075
|
12
12
|
|
13
13
|
REPETITIONS = 10
|
14
|
-
RESQUE_REPETITIONS = 2
|
15
14
|
|
16
15
|
require 'ruby-prof'
|
17
16
|
|
@@ -46,78 +45,6 @@ namespace :profile do
|
|
46
45
|
redis.quit
|
47
46
|
end
|
48
47
|
|
49
|
-
# rubyprof doesn't like the mail gem, possibly due to treetop -- crashes
|
50
|
-
# with "stack level too deep" errors when generating if the profiling
|
51
|
-
# runs over 3 or more mails.
|
52
|
-
def profile_resque(cfg_name, config, redis_options, &block)
|
53
|
-
redis = Redis.new(redis_options.merge(:driver => 'ruby'))
|
54
|
-
check_db_empty(:redis => redis, :redis_options => redis_options)
|
55
|
-
setup_baseline_data(:redis => redis)
|
56
|
-
|
57
|
-
::Resque.redis = redis
|
58
|
-
|
59
|
-
EM.synchrony do
|
60
|
-
FlapjackProfileResque.instance_eval {
|
61
|
-
|
62
|
-
class << self
|
63
|
-
|
64
|
-
alias_method :orig_perform, :perform
|
65
|
-
|
66
|
-
# NB: this is very brittle in the case of exceptions; Resque swallows them,
|
67
|
-
# so you'll need to turn on the worker's verbose switches below to see what's
|
68
|
-
# really going on
|
69
|
-
def perform(notification)
|
70
|
-
r = nil
|
71
|
-
begin
|
72
|
-
count = if FlapjackProfileResque.class_variable_defined?('@@profile_count')
|
73
|
-
FlapjackProfileResque.class_variable_get('@@profile_count')
|
74
|
-
else
|
75
|
-
FlapjackProfileResque.class_variable_set('@@profile_count', 0)
|
76
|
-
end
|
77
|
-
|
78
|
-
RubyProf.send( (count.zero? ? :start : :resume) )
|
79
|
-
r = orig_perform(notification)
|
80
|
-
RubyProf.pause
|
81
|
-
|
82
|
-
count += 1
|
83
|
-
FlapjackProfileResque.class_variable_set('@@profile_count', count)
|
84
|
-
rescue Exception => e
|
85
|
-
puts e.message
|
86
|
-
end
|
87
|
-
r
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
}
|
92
|
-
|
93
|
-
FlapjackProfileResque.bootstrap(:config => config)
|
94
|
-
|
95
|
-
worker = EM::Resque::Worker.new(config['queue'])
|
96
|
-
worker.verbose = true
|
97
|
-
worker.very_verbose = true
|
98
|
-
|
99
|
-
EM.defer(block)
|
100
|
-
|
101
|
-
worker.work(0.1) {|job|
|
102
|
-
if FlapjackProfileResque.class_variable_defined?('@@profile_count') &&
|
103
|
-
(FlapjackProfileResque.class_variable_get('@@profile_count') >= RESQUE_REPETITIONS)
|
104
|
-
job.worker.shutdown
|
105
|
-
end
|
106
|
-
}
|
107
|
-
|
108
|
-
result = RubyProf.stop
|
109
|
-
printer = RubyProf::MultiPrinter.new(result)
|
110
|
-
output_dir = File.join('tmp', 'profiles')
|
111
|
-
FileUtils.mkdir_p(output_dir)
|
112
|
-
printer.print(:path => output_dir, :profile => cfg_name)
|
113
|
-
|
114
|
-
EM.stop
|
115
|
-
end
|
116
|
-
|
117
|
-
empty_db(:redis => redis)
|
118
|
-
redis.quit
|
119
|
-
end
|
120
|
-
|
121
48
|
def profile_thin(klass, name, config, redis_options, &block)
|
122
49
|
redis = Redis.new(redis_options.merge(:driver => 'ruby'))
|
123
50
|
check_db_empty(:redis => redis, :redis_options => redis_options)
|
@@ -252,13 +179,14 @@ namespace :profile do
|
|
252
179
|
task :jabber do
|
253
180
|
|
254
181
|
require 'flapjack/jabber'
|
182
|
+
require 'flapjack/data/alert'
|
255
183
|
require 'flapjack/data/contact'
|
256
184
|
require 'flapjack/data/event'
|
257
185
|
require 'flapjack/data/notification'
|
258
186
|
|
259
187
|
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || 'profile'
|
260
188
|
config_env, redis_options = load_config
|
261
|
-
profile_pikelet(Flapjack::Jabber, 'jabber', config_env['jabber_gateway'],
|
189
|
+
profile_pikelet(Flapjack::Gateways::Jabber, 'jabber', config_env['jabber_gateway'],
|
262
190
|
redis_options) {
|
263
191
|
|
264
192
|
# this executes in a separate thread, so no Fibery stuff is allowed
|
@@ -277,8 +205,8 @@ namespace :profile do
|
|
277
205
|
notification.messages(:contacts => [contact]).each do |msg|
|
278
206
|
contents = msg.contents
|
279
207
|
contents['event_count'] = n
|
280
|
-
|
281
|
-
|
208
|
+
Flapjack::Data::Alert.add(config_env['jabber_gateway']['queue'],
|
209
|
+
contents)
|
282
210
|
end
|
283
211
|
end
|
284
212
|
|
@@ -291,51 +219,39 @@ namespace :profile do
|
|
291
219
|
desc "profile email notifier with rubyprof"
|
292
220
|
task :email do
|
293
221
|
|
294
|
-
require '
|
295
|
-
|
296
|
-
# the redis-rb README for details
|
297
|
-
require 'hiredis'
|
298
|
-
require 'em-synchrony'
|
299
|
-
require 'redis/connection/synchrony'
|
300
|
-
require 'redis'
|
301
|
-
require 'em-resque'
|
302
|
-
require 'em-resque/worker'
|
303
|
-
|
304
|
-
require 'flapjack/patches'
|
305
|
-
require 'flapjack/redis_pool'
|
306
|
-
require 'flapjack/notification/email'
|
307
|
-
|
222
|
+
require 'flapjack/email'
|
223
|
+
require 'flapjack/data/alert'
|
308
224
|
require 'flapjack/data/contact'
|
309
225
|
require 'flapjack/data/event'
|
310
226
|
require 'flapjack/data/notification'
|
311
227
|
|
312
228
|
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || 'profile'
|
313
229
|
config_env, redis_options = load_config
|
230
|
+
profile_pikelet(Flapjack::Gateways::Email, 'jabber', config_env['jabber_gateway'],
|
231
|
+
redis_options) {
|
314
232
|
|
315
|
-
|
316
|
-
|
317
|
-
profile_resque('email', config_env['email_notifier'], redis_options) {
|
318
|
-
|
319
|
-
# this executes in a separate thread, so no Fibery stuff is allowed
|
320
|
-
redis = Redis.new(redis_options.merge(:driver => 'ruby'))
|
233
|
+
# this executes in a separate thread, so no Fibery stuff is allowed
|
234
|
+
redis = Redis.new(redis_options.merge(:driver => 'ruby'))
|
321
235
|
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
236
|
+
event = Flapjack::Data::Event.new('type' => 'service',
|
237
|
+
'state' => 'critical',
|
238
|
+
'summary' => '100% packet loss',
|
239
|
+
'entity' => 'clientx-app-01',
|
240
|
+
'check' => 'ping')
|
241
|
+
notification = Flapjack::Data::Notification.for_event(event)
|
328
242
|
|
329
|
-
|
243
|
+
contact = Flapjack::Data::Contact.find_by_id('1000', :redis => redis)
|
330
244
|
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
245
|
+
REPETITIONS.times do |n|
|
246
|
+
notification.messages(:contacts => [contact]).each do |msg|
|
247
|
+
contents = msg.contents
|
248
|
+
contents['event_count'] = n
|
249
|
+
Flapjack::Data::Alert.add(config_env['email_gateway']['queue'],
|
250
|
+
contents)
|
251
|
+
end
|
335
252
|
end
|
336
|
-
end
|
337
253
|
|
338
|
-
|
254
|
+
redis.quit
|
339
255
|
}
|
340
256
|
end
|
341
257
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flapjack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lindsay Holmwood
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2015-02-10 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: dante
|
@@ -84,21 +84,7 @@ dependencies:
|
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: '0'
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
|
-
name: em-
|
88
|
-
requirement: !ruby/object:Gem::Requirement
|
89
|
-
requirements:
|
90
|
-
- - "~>"
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: 1.0.2
|
93
|
-
type: :runtime
|
94
|
-
prerelease: false
|
95
|
-
version_requirements: !ruby/object:Gem::Requirement
|
96
|
-
requirements:
|
97
|
-
- - "~>"
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: 1.0.2
|
100
|
-
- !ruby/object:Gem::Dependency
|
101
|
-
name: em-http-request
|
87
|
+
name: em-hiredis
|
102
88
|
requirement: !ruby/object:Gem::Requirement
|
103
89
|
requirements:
|
104
90
|
- - ">="
|
@@ -112,33 +98,33 @@ dependencies:
|
|
112
98
|
- !ruby/object:Gem::Version
|
113
99
|
version: '0'
|
114
100
|
- !ruby/object:Gem::Dependency
|
115
|
-
name: em-
|
101
|
+
name: em-synchrony
|
116
102
|
requirement: !ruby/object:Gem::Requirement
|
117
103
|
requirements:
|
118
|
-
- - "
|
104
|
+
- - "~>"
|
119
105
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
106
|
+
version: 1.0.2
|
121
107
|
type: :runtime
|
122
108
|
prerelease: false
|
123
109
|
version_requirements: !ruby/object:Gem::Requirement
|
124
110
|
requirements:
|
125
|
-
- - "
|
111
|
+
- - "~>"
|
126
112
|
- !ruby/object:Gem::Version
|
127
|
-
version:
|
113
|
+
version: 1.0.2
|
128
114
|
- !ruby/object:Gem::Dependency
|
129
|
-
name:
|
115
|
+
name: em-http-request
|
130
116
|
requirement: !ruby/object:Gem::Requirement
|
131
117
|
requirements:
|
132
|
-
- - "
|
118
|
+
- - ">="
|
133
119
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
120
|
+
version: '0'
|
135
121
|
type: :runtime
|
136
122
|
prerelease: false
|
137
123
|
version_requirements: !ruby/object:Gem::Requirement
|
138
124
|
requirements:
|
139
|
-
- - "
|
125
|
+
- - ">="
|
140
126
|
- !ruby/object:Gem::Version
|
141
|
-
version:
|
127
|
+
version: '0'
|
142
128
|
- !ruby/object:Gem::Dependency
|
143
129
|
name: sinatra
|
144
130
|
requirement: !ruby/object:Gem::Requirement
|
@@ -255,16 +241,16 @@ dependencies:
|
|
255
241
|
name: activesupport
|
256
242
|
requirement: !ruby/object:Gem::Requirement
|
257
243
|
requirements:
|
258
|
-
- - "
|
244
|
+
- - ">="
|
259
245
|
- !ruby/object:Gem::Version
|
260
|
-
version:
|
246
|
+
version: '0'
|
261
247
|
type: :runtime
|
262
248
|
prerelease: false
|
263
249
|
version_requirements: !ruby/object:Gem::Requirement
|
264
250
|
requirements:
|
265
|
-
- - "
|
251
|
+
- - ">="
|
266
252
|
- !ruby/object:Gem::Version
|
267
|
-
version:
|
253
|
+
version: '0'
|
268
254
|
- !ruby/object:Gem::Dependency
|
269
255
|
name: ice_cube
|
270
256
|
requirement: !ruby/object:Gem::Requirement
|
@@ -283,16 +269,16 @@ dependencies:
|
|
283
269
|
name: tzinfo
|
284
270
|
requirement: !ruby/object:Gem::Requirement
|
285
271
|
requirements:
|
286
|
-
- - "
|
272
|
+
- - ">="
|
287
273
|
- !ruby/object:Gem::Version
|
288
|
-
version:
|
274
|
+
version: '0'
|
289
275
|
type: :runtime
|
290
276
|
prerelease: false
|
291
277
|
version_requirements: !ruby/object:Gem::Requirement
|
292
278
|
requirements:
|
293
|
-
- - "
|
279
|
+
- - ">="
|
294
280
|
- !ruby/object:Gem::Version
|
295
|
-
version:
|
281
|
+
version: '0'
|
296
282
|
- !ruby/object:Gem::Dependency
|
297
283
|
name: tzinfo-data
|
298
284
|
requirement: !ruby/object:Gem::Requirement
|
@@ -363,6 +349,20 @@ dependencies:
|
|
363
349
|
- - '='
|
364
350
|
- !ruby/object:Gem::Version
|
365
351
|
version: 1.6.2.1
|
352
|
+
- !ruby/object:Gem::Dependency
|
353
|
+
name: mysql2
|
354
|
+
requirement: !ruby/object:Gem::Requirement
|
355
|
+
requirements:
|
356
|
+
- - ">="
|
357
|
+
- !ruby/object:Gem::Version
|
358
|
+
version: '0'
|
359
|
+
type: :runtime
|
360
|
+
prerelease: false
|
361
|
+
version_requirements: !ruby/object:Gem::Requirement
|
362
|
+
requirements:
|
363
|
+
- - ">="
|
364
|
+
- !ruby/object:Gem::Version
|
365
|
+
version: '0'
|
366
366
|
description: Flapjack is a distributed monitoring notification system that provides
|
367
367
|
a scalable method for processing streams of events from Nagios and deciding who
|
368
368
|
should be notified
|
@@ -381,8 +381,6 @@ files:
|
|
381
381
|
- CONTRIBUTING.md
|
382
382
|
- Dockerfile
|
383
383
|
- Gemfile
|
384
|
-
- Gemfile-ruby1.9
|
385
|
-
- Gemfile-ruby1.9.lock
|
386
384
|
- Guardfile
|
387
385
|
- LICENCE
|
388
386
|
- README.md
|
@@ -472,6 +470,7 @@ files:
|
|
472
470
|
- lib/flapjack/gateways/oobetet.rb
|
473
471
|
- lib/flapjack/gateways/pagerduty.rb
|
474
472
|
- lib/flapjack/gateways/pagerduty/alert.text.erb
|
473
|
+
- lib/flapjack/gateways/sms_gammu.rb
|
475
474
|
- lib/flapjack/gateways/sms_messagenet.rb
|
476
475
|
- lib/flapjack/gateways/sms_messagenet/alert.text.erb
|
477
476
|
- lib/flapjack/gateways/sms_messagenet/rollup.text.erb
|
@@ -600,7 +599,6 @@ files:
|
|
600
599
|
- src/flapjack/event_test.go
|
601
600
|
- src/flapjack/transport.go
|
602
601
|
- src/flapjack/transport_test.go
|
603
|
-
- tasks/benchmarks.rake
|
604
602
|
- tasks/entities.rake
|
605
603
|
- tasks/events.rake
|
606
604
|
- tasks/profile.rake
|
@@ -642,7 +640,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
642
640
|
version: '0'
|
643
641
|
requirements: []
|
644
642
|
rubyforge_project:
|
645
|
-
rubygems_version: 2.
|
643
|
+
rubygems_version: 2.4.5
|
646
644
|
signing_key:
|
647
645
|
specification_version: 4
|
648
646
|
summary: Intelligent, scalable, distributed monitoring notification system.
|
data/Gemfile-ruby1.9
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
gemspec :name => 'flapjack'
|
4
|
-
|
5
|
-
group :development do
|
6
|
-
gem 'ruby-prof'
|
7
|
-
end
|
8
|
-
|
9
|
-
group :test do
|
10
|
-
gem 'rspec', '~> 3.0'
|
11
|
-
gem 'cucumber', '>= 2.0.0.beta.3'
|
12
|
-
gem 'delorean'
|
13
|
-
gem 'rack-test'
|
14
|
-
gem 'pact'
|
15
|
-
gem 'async_rack_test', '>= 0.0.5'
|
16
|
-
gem 'resque_spec'
|
17
|
-
gem 'webmock'
|
18
|
-
gem 'guard'
|
19
|
-
gem 'rb-fsevent'
|
20
|
-
gem 'guard-rspec'
|
21
|
-
gem 'guard-cucumber'
|
22
|
-
gem 'fuubar'
|
23
|
-
gem 'simplecov', :require => false
|
24
|
-
|
25
|
-
# # Not compiling under 1.9.3-p550 anyway
|
26
|
-
# if RUBY_VERSION.split('.')[0] == '1' && RUBY_VERSION.split('.')[1] == '9'
|
27
|
-
# gem 'debugger-ruby_core_source', '>= 1.3.4' # required for perftools.rb
|
28
|
-
# gem 'perftools.rb'
|
29
|
-
# end
|
30
|
-
end
|