cloudfuji 0.0.41 → 0.0.42

Sign up to get free protection for your applications and to get access to all the features.
@@ -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