cloudfuji 0.0.41 → 0.0.42

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.
@@ -2,51 +2,52 @@ module Cloudfuji
2
2
  class Data #:nodoc:
3
3
  @@observers = []
4
4
 
5
- def self.add_observer(observer)
6
- puts "Subscribing #{observer} to Cloudfuji data calls"
7
- @@observers << observer
8
- end
9
-
10
- def self.fire(data, event)
11
- puts "Cloudfuji Hooks Firing #{event} with => #{data.inspect}"
12
-
13
- processed = false
14
-
15
- @@observers.each do |observer|
16
- puts "#{observer}.respond_to?(#{event}) => #{observer.respond_to?(event)}"
17
-
18
- if observer.respond_to?(event)
19
- processed = true
20
-
21
- # Make a copy of the data so it's not mutated as the events
22
- # pass through the observers
23
- observer.instance_variable_set("@params", data.dup)
24
-
25
- result = observer.send(event)
26
-
27
- # Allow an observer to halt event propagation
28
- if result == :halt
29
- puts "Observer #{observer} halted event propagation"
30
- break
31
- end
32
- end
5
+ class << self
6
+ def add_observer(observer)
7
+ puts "Subscribing #{observer} to Cloudfuji data calls"
8
+ @@observers << observer
33
9
  end
34
10
 
35
- # We've checked all the observers to see if they respond to the
36
- # named events, so if the event is still unprocessed then let's
37
- # fall back on the first catch_all event we find
38
- if !processed
39
- @@observers.each do |observer|
40
- if observer.respond_to?(:catch_all)
41
- observer.instance_variable_set("@params", data.dup)
11
+ # Returns an array of the unique instance methods defined
12
+ # for all observers, except #catch_all
13
+ def observed_events
14
+ @@observers.map {|observer|
15
+ observer.class.instance_methods - Cloudfuji::EventObserver.instance_methods
16
+ }.flatten.uniq - [:catch_all]
17
+ end
42
18
 
43
- observer.send(:catch_all)
44
- break
19
+ def fire(data, event)
20
+ puts "Cloudfuji Hooks Firing #{event} with => #{data.inspect}"
21
+
22
+ halted = false
23
+ # Test if each observer responds to the named event, or #catch_all
24
+ [event, :catch_all].each do |method|
25
+ @@observers.each do |observer|
26
+ # Process observer if event propagation isn't halted,
27
+ # or we are trying the #catch_all method
28
+ # (All #catch_all methods should be processed regardless of
29
+ # halted status)
30
+ if !halted || method == :catch_all
31
+ puts "#{observer}.respond_to?(#{method}) => #{observer.respond_to?(method)}"
32
+
33
+ if observer.respond_to?(method)
34
+ # Make a copy of the data so it's not mutated as the events
35
+ # pass through the observers
36
+ observer.instance_variable_set("@params", data.dup)
37
+
38
+ result = observer.send(method)
39
+
40
+ # Allow an observer to halt event propagation for
41
+ # other named event methods
42
+ if result == :halt
43
+ puts "Observer #{observer} halted event propagation"
44
+ halted = true
45
+ end
46
+ end
47
+ end
45
48
  end
46
49
  end
47
50
  end
48
51
  end
49
52
  end
50
53
  end
51
-
52
-
@@ -1,4 +1,4 @@
1
1
  module Cloudfuji
2
2
  # Current version of the Cloudfuji gem
3
- VERSION = "0.0.41"
3
+ VERSION = "0.0.42"
4
4
  end
metadata CHANGED
@@ -1,91 +1,74 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: cloudfuji
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.41
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.0.42
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Sean Grove
9
9
  - Kev Zettler
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-05-14 00:00:00.000000000 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
13
+
14
+ date: 2012-05-17 00:00:00 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
16
17
  name: rest-client
17
- requirement: !ruby/object:Gem::Requirement
18
+ requirement: &id001 !ruby/object:Gem::Requirement
18
19
  none: false
19
- requirements:
20
- - - ! '>='
21
- - !ruby/object:Gem::Version
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
22
23
  version: 1.6.1
23
24
  type: :runtime
24
25
  prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ! '>='
29
- - !ruby/object:Gem::Version
30
- version: 1.6.1
31
- - !ruby/object:Gem::Dependency
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
32
28
  name: json
33
- requirement: !ruby/object:Gem::Requirement
29
+ requirement: &id002 !ruby/object:Gem::Requirement
34
30
  none: false
35
- requirements:
36
- - - ! '>='
37
- - !ruby/object:Gem::Version
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
38
34
  version: 1.4.6
39
35
  type: :runtime
40
36
  prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ! '>='
45
- - !ruby/object:Gem::Version
46
- version: 1.4.6
47
- - !ruby/object:Gem::Dependency
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
48
39
  name: highline
49
- requirement: !ruby/object:Gem::Requirement
40
+ requirement: &id003 !ruby/object:Gem::Requirement
50
41
  none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
54
45
  version: 1.6.1
55
46
  type: :runtime
56
47
  prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
- requirements:
60
- - - ! '>='
61
- - !ruby/object:Gem::Version
62
- version: 1.6.1
63
- - !ruby/object:Gem::Dependency
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
64
50
  name: orm_adapter
65
- requirement: !ruby/object:Gem::Requirement
51
+ requirement: &id004 !ruby/object:Gem::Requirement
66
52
  none: false
67
- requirements:
53
+ requirements:
68
54
  - - ~>
69
- - !ruby/object:Gem::Version
55
+ - !ruby/object:Gem::Version
70
56
  version: 0.0.3
71
57
  type: :runtime
72
58
  prerelease: false
73
- version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ~>
77
- - !ruby/object:Gem::Version
78
- version: 0.0.3
59
+ version_requirements: *id004
79
60
  description: A module for integrating the Cloudfuji platform into a ruby app
80
- email:
61
+ email:
81
62
  - support@cloudfuji.com
82
63
  - s@bushi.do
83
64
  - k@bushi.do
84
- executables:
65
+ executables:
85
66
  - cloudfuji
86
67
  extensions: []
68
+
87
69
  extra_rdoc_files: []
88
- files:
70
+
71
+ files:
89
72
  - .gitignore
90
73
  - .rspec
91
74
  - Gemfile
@@ -257,32 +240,148 @@ files:
257
240
  - test_app/spec/views/home.html.erb_spec.rb
258
241
  homepage: https://github.com/cloudfuji/cloudfuji_client
259
242
  licenses: []
243
+
260
244
  post_install_message:
261
245
  rdoc_options: []
262
- require_paths:
246
+
247
+ require_paths:
263
248
  - lib
264
- required_ruby_version: !ruby/object:Gem::Requirement
249
+ required_ruby_version: !ruby/object:Gem::Requirement
265
250
  none: false
266
- requirements:
267
- - - ! '>='
268
- - !ruby/object:Gem::Version
269
- version: '0'
270
- segments:
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ hash: 4040377203528950463
255
+ segments:
271
256
  - 0
272
- hash: 69383249
273
- required_rubygems_version: !ruby/object:Gem::Requirement
257
+ version: "0"
258
+ required_rubygems_version: !ruby/object:Gem::Requirement
274
259
  none: false
275
- requirements:
276
- - - ! '>='
277
- - !ruby/object:Gem::Version
278
- version: '0'
279
- segments:
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ hash: 4040377203528950463
264
+ segments:
280
265
  - 0
281
- hash: 69383249
266
+ version: "0"
282
267
  requirements: []
268
+
283
269
  rubyforge_project: cloudfuji
284
- rubygems_version: 1.8.24
270
+ rubygems_version: 1.8.17
285
271
  signing_key:
286
272
  specification_version: 3
287
273
  summary: Cloudfuji integration
288
- test_files: []
274
+ test_files:
275
+ - spec/app_spec/controllers/envs_controller_spec.rb
276
+ - spec/app_spec/controllers/mail_controller_spec.rb
277
+ - spec/app_spec/integration/app_claim_spec.rb
278
+ - spec/gem_spec/base_spec.rb
279
+ - spec/gem_spec/command_spec.rb
280
+ - spec/gem_spec/config_spec.rb
281
+ - spec/gem_spec/data_spec.rb
282
+ - spec/gem_spec/hooks_spec.rb
283
+ - spec/gem_spec/mail_route_spec.rb
284
+ - spec/gem_spec/platform_spec.rb
285
+ - spec/gem_spec/user_spec.rb
286
+ - spec/spec_helper.rb
287
+ - spec/test_apps/rails-2.3/.gitignore
288
+ - spec/test_apps/rails-2.3/Gemfile
289
+ - spec/test_apps/rails-2.3/README
290
+ - spec/test_apps/rails-2.3/Rakefile
291
+ - spec/test_apps/rails-2.3/app/controllers/application_controller.rb
292
+ - spec/test_apps/rails-2.3/app/helpers/application_helper.rb
293
+ - spec/test_apps/rails-2.3/config/boot.rb
294
+ - spec/test_apps/rails-2.3/config/environment.rb
295
+ - spec/test_apps/rails-2.3/config/environments/development.rb
296
+ - spec/test_apps/rails-2.3/config/environments/production.rb
297
+ - spec/test_apps/rails-2.3/config/environments/test.rb
298
+ - spec/test_apps/rails-2.3/config/initializers/backtrace_silencers.rb
299
+ - spec/test_apps/rails-2.3/config/initializers/cookie_verification_secret.rb
300
+ - spec/test_apps/rails-2.3/config/initializers/inflections.rb
301
+ - spec/test_apps/rails-2.3/config/initializers/mime_types.rb
302
+ - spec/test_apps/rails-2.3/config/initializers/new_rails_defaults.rb
303
+ - spec/test_apps/rails-2.3/config/initializers/session_store.rb
304
+ - spec/test_apps/rails-2.3/config/locales/en.yml
305
+ - spec/test_apps/rails-2.3/config/routes.rb
306
+ - spec/test_apps/rails-2.3/db/seeds.rb
307
+ - spec/test_apps/rails-2.3/doc/README_FOR_APP
308
+ - spec/test_apps/rails-2.3/lib/tasks/rspec.rake
309
+ - spec/test_apps/rails-2.3/public/404.html
310
+ - spec/test_apps/rails-2.3/public/422.html
311
+ - spec/test_apps/rails-2.3/public/500.html
312
+ - spec/test_apps/rails-2.3/public/favicon.ico
313
+ - spec/test_apps/rails-2.3/public/images/rails.png
314
+ - spec/test_apps/rails-2.3/public/javascripts/application.js
315
+ - spec/test_apps/rails-2.3/public/javascripts/controls.js
316
+ - spec/test_apps/rails-2.3/public/javascripts/dragdrop.js
317
+ - spec/test_apps/rails-2.3/public/javascripts/effects.js
318
+ - spec/test_apps/rails-2.3/public/javascripts/prototype.js
319
+ - spec/test_apps/rails-2.3/public/robots.txt
320
+ - spec/test_apps/rails-2.3/script/about
321
+ - spec/test_apps/rails-2.3/script/autospec
322
+ - spec/test_apps/rails-2.3/script/console
323
+ - spec/test_apps/rails-2.3/script/dbconsole
324
+ - spec/test_apps/rails-2.3/script/destroy
325
+ - spec/test_apps/rails-2.3/script/generate
326
+ - spec/test_apps/rails-2.3/script/performance/benchmarker
327
+ - spec/test_apps/rails-2.3/script/performance/profiler
328
+ - spec/test_apps/rails-2.3/script/plugin
329
+ - spec/test_apps/rails-2.3/script/runner
330
+ - spec/test_apps/rails-2.3/script/server
331
+ - spec/test_apps/rails-2.3/script/spec
332
+ - spec/test_apps/rails-2.3/spec/all_spec.rb
333
+ - spec/test_apps/rails-2.3/spec/rcov.opts
334
+ - spec/test_apps/rails-2.3/spec/spec.opts
335
+ - spec/test_apps/rails-2.3/spec/spec_helper.rb
336
+ - spec/test_apps/rails-2.3/test/performance/browsing_test.rb
337
+ - spec/test_apps/rails-2.3/test/test_helper.rb
338
+ - spec/test_apps/rails-3.0/.gitignore
339
+ - spec/test_apps/rails-3.0/.rspec
340
+ - spec/test_apps/rails-3.0/Gemfile
341
+ - spec/test_apps/rails-3.0/README
342
+ - spec/test_apps/rails-3.0/Rakefile
343
+ - spec/test_apps/rails-3.0/app/controllers/application_controller.rb
344
+ - spec/test_apps/rails-3.0/app/controllers/static_controller.rb
345
+ - spec/test_apps/rails-3.0/app/helpers/application_helper.rb
346
+ - spec/test_apps/rails-3.0/app/helpers/static_helper.rb
347
+ - spec/test_apps/rails-3.0/app/views/layouts/application.html.erb
348
+ - spec/test_apps/rails-3.0/app/views/static/home.html.erb
349
+ - spec/test_apps/rails-3.0/config.ru
350
+ - spec/test_apps/rails-3.0/config/application.rb
351
+ - spec/test_apps/rails-3.0/config/boot.rb
352
+ - spec/test_apps/rails-3.0/config/environment.rb
353
+ - spec/test_apps/rails-3.0/config/environments/development.rb
354
+ - spec/test_apps/rails-3.0/config/environments/production.rb
355
+ - spec/test_apps/rails-3.0/config/environments/test.rb
356
+ - spec/test_apps/rails-3.0/config/initializers/backtrace_silencers.rb
357
+ - spec/test_apps/rails-3.0/config/initializers/inflections.rb
358
+ - spec/test_apps/rails-3.0/config/initializers/mime_types.rb
359
+ - spec/test_apps/rails-3.0/config/initializers/secret_token.rb
360
+ - spec/test_apps/rails-3.0/config/initializers/session_store.rb
361
+ - spec/test_apps/rails-3.0/config/locales/en.yml
362
+ - spec/test_apps/rails-3.0/config/routes.rb
363
+ - spec/test_apps/rails-3.0/db/schema.rb
364
+ - spec/test_apps/rails-3.0/db/seeds.rb
365
+ - spec/test_apps/rails-3.0/doc/README_FOR_APP
366
+ - spec/test_apps/rails-3.0/lib/tasks/.gitkeep
367
+ - spec/test_apps/rails-3.0/public/404.html
368
+ - spec/test_apps/rails-3.0/public/422.html
369
+ - spec/test_apps/rails-3.0/public/500.html
370
+ - spec/test_apps/rails-3.0/public/favicon.ico
371
+ - spec/test_apps/rails-3.0/public/images/rails.png
372
+ - spec/test_apps/rails-3.0/public/index.html
373
+ - spec/test_apps/rails-3.0/public/javascripts/application.js
374
+ - spec/test_apps/rails-3.0/public/javascripts/controls.js
375
+ - spec/test_apps/rails-3.0/public/javascripts/dragdrop.js
376
+ - spec/test_apps/rails-3.0/public/javascripts/effects.js
377
+ - spec/test_apps/rails-3.0/public/javascripts/prototype.js
378
+ - spec/test_apps/rails-3.0/public/javascripts/rails.js
379
+ - spec/test_apps/rails-3.0/public/robots.txt
380
+ - spec/test_apps/rails-3.0/public/stylesheets/.gitkeep
381
+ - spec/test_apps/rails-3.0/script/rails
382
+ - spec/test_apps/rails-3.0/spec/all_spec.rb
383
+ - spec/test_apps/rails-3.0/spec/spec_helper.rb
384
+ - spec/test_apps/rails-3.0/test/performance/browsing_test.rb
385
+ - spec/test_apps/rails-3.0/test/test_helper.rb
386
+ - spec/test_apps/rails-3.0/vendor/plugins/.gitkeep
387
+ - test_app/spec/views/home.html.erb_spec.rb