untied 0.0.1

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.
Files changed (92) hide show
  1. data/.gitignore +20 -0
  2. data/.rvmrc +48 -0
  3. data/.travis.yml +5 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +7 -0
  6. data/README.md +124 -0
  7. data/Rakefile +3 -0
  8. data/bin/untied_worker +16 -0
  9. data/examples/goliath/.rvmrc +48 -0
  10. data/examples/goliath/Gemfile +9 -0
  11. data/examples/goliath/README.mkd +81 -0
  12. data/examples/goliath/Rakefile +14 -0
  13. data/examples/goliath/config/srv.rb +21 -0
  14. data/examples/goliath/models/user.rb +5 -0
  15. data/examples/goliath/observer.rb +10 -0
  16. data/examples/goliath/srv.rb +46 -0
  17. data/examples/rails-consumer/.rvmrc +48 -0
  18. data/examples/rails-consumer/Gemfile +38 -0
  19. data/examples/rails-consumer/README.mkd +37 -0
  20. data/examples/rails-consumer/Rakefile +7 -0
  21. data/examples/rails-consumer/app/assets/images/rails.png +0 -0
  22. data/examples/rails-consumer/app/assets/javascripts/application.js +15 -0
  23. data/examples/rails-consumer/app/assets/javascripts/users.js.coffee +3 -0
  24. data/examples/rails-consumer/app/assets/stylesheets/application.css +13 -0
  25. data/examples/rails-consumer/app/assets/stylesheets/scaffolds.css.scss +69 -0
  26. data/examples/rails-consumer/app/assets/stylesheets/users.css.scss +3 -0
  27. data/examples/rails-consumer/app/controllers/application_controller.rb +3 -0
  28. data/examples/rails-consumer/app/controllers/users_controller.rb +83 -0
  29. data/examples/rails-consumer/app/helpers/application_helper.rb +2 -0
  30. data/examples/rails-consumer/app/helpers/users_helper.rb +2 -0
  31. data/examples/rails-consumer/app/mailers/.gitkeep +0 -0
  32. data/examples/rails-consumer/app/models/.gitkeep +0 -0
  33. data/examples/rails-consumer/app/models/untied_user_observer.rb +8 -0
  34. data/examples/rails-consumer/app/models/user.rb +3 -0
  35. data/examples/rails-consumer/app/views/layouts/application.html.erb +14 -0
  36. data/examples/rails-consumer/app/views/users/_form.html.erb +21 -0
  37. data/examples/rails-consumer/app/views/users/edit.html.erb +6 -0
  38. data/examples/rails-consumer/app/views/users/index.html.erb +23 -0
  39. data/examples/rails-consumer/app/views/users/new.html.erb +5 -0
  40. data/examples/rails-consumer/app/views/users/show.html.erb +10 -0
  41. data/examples/rails-consumer/config/application.rb +62 -0
  42. data/examples/rails-consumer/config/boot.rb +6 -0
  43. data/examples/rails-consumer/config/database.yml +25 -0
  44. data/examples/rails-consumer/config/environment.rb +5 -0
  45. data/examples/rails-consumer/config/environments/development.rb +37 -0
  46. data/examples/rails-consumer/config/environments/production.rb +67 -0
  47. data/examples/rails-consumer/config/environments/test.rb +37 -0
  48. data/examples/rails-consumer/config/initializers/backtrace_silencers.rb +7 -0
  49. data/examples/rails-consumer/config/initializers/inflections.rb +15 -0
  50. data/examples/rails-consumer/config/initializers/mime_types.rb +5 -0
  51. data/examples/rails-consumer/config/initializers/secret_token.rb +7 -0
  52. data/examples/rails-consumer/config/initializers/session_store.rb +8 -0
  53. data/examples/rails-consumer/config/initializers/untied.rb +4 -0
  54. data/examples/rails-consumer/config/initializers/wrap_parameters.rb +14 -0
  55. data/examples/rails-consumer/config/locales/en.yml +5 -0
  56. data/examples/rails-consumer/config/routes.rb +60 -0
  57. data/examples/rails-consumer/config.ru +4 -0
  58. data/examples/rails-consumer/db/development.sqlite3 +0 -0
  59. data/examples/rails-consumer/db/migrate/20121019155057_create_users.rb +9 -0
  60. data/examples/rails-consumer/db/schema.rb +22 -0
  61. data/examples/rails-consumer/db/seeds.rb +7 -0
  62. data/examples/rails-consumer/lib/assets/.gitkeep +0 -0
  63. data/examples/rails-consumer/lib/tasks/.gitkeep +0 -0
  64. data/examples/rails-consumer/log/.gitkeep +0 -0
  65. data/examples/rails-consumer/log/development.log +135 -0
  66. data/examples/rails-consumer/public/404.html +26 -0
  67. data/examples/rails-consumer/public/422.html +26 -0
  68. data/examples/rails-consumer/public/500.html +25 -0
  69. data/examples/rails-consumer/public/favicon.ico +0 -0
  70. data/examples/rails-consumer/public/index.html +241 -0
  71. data/examples/rails-consumer/public/robots.txt +5 -0
  72. data/examples/rails-consumer/script/rails +6 -0
  73. data/examples/rails-consumer/test/fixtures/.gitkeep +0 -0
  74. data/examples/rails-consumer/test/fixtures/users.yml +7 -0
  75. data/examples/rails-consumer/test/functional/.gitkeep +0 -0
  76. data/examples/rails-consumer/test/functional/users_controller_test.rb +49 -0
  77. data/examples/rails-consumer/test/integration/.gitkeep +0 -0
  78. data/examples/rails-consumer/test/performance/browsing_test.rb +12 -0
  79. data/examples/rails-consumer/test/test_helper.rb +13 -0
  80. data/examples/rails-consumer/test/unit/.gitkeep +0 -0
  81. data/examples/rails-consumer/test/unit/helpers/users_helper_test.rb +4 -0
  82. data/examples/rails-consumer/test/unit/user_test.rb +7 -0
  83. data/examples/rails-consumer/vendor/assets/javascripts/.gitkeep +0 -0
  84. data/examples/rails-consumer/vendor/assets/stylesheets/.gitkeep +0 -0
  85. data/examples/rails-consumer/vendor/plugins/.gitkeep +0 -0
  86. data/examples/social_network.rb +1 -0
  87. data/lib/untied/version.rb +4 -0
  88. data/lib/untied.rb +20 -0
  89. data/spec/spec_helper.rb +28 -0
  90. data/spec/support/setup_ar_and_schema.rb +24 -0
  91. data/untied.gemspec +25 -0
  92. metadata +212 -0
data/lib/untied.rb ADDED
@@ -0,0 +1,20 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require 'untied/version'
3
+
4
+ require 'rubygems'
5
+ require 'bundler/setup'
6
+ require 'amqp/utilities/event_loop_helper'
7
+
8
+ module Untied
9
+ def self.start
10
+ Thread.abort_on_exception = false
11
+
12
+ AMQP::Utilities::EventLoopHelper.run do
13
+ AMQP.start
14
+ end
15
+
16
+ EventMachine.next_tick do
17
+ AMQP.channel ||= AMQP::Channel.new(AMQP.connection)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,28 @@
1
+ # -*- encoding : utf-8 -*-
2
+ # This file was generated by the `rspec --init` command. Conventionally, all
3
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
4
+ # Require this file using `require "spec_helper"` to ensure that it is only
5
+ # loaded once.
6
+ #
7
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
8
+
9
+ require 'untied'
10
+ require 'ruby-debug'
11
+ require 'support/setup_ar_and_schema'
12
+
13
+ Untied::Publisher.configure do |config|
14
+ config.service_name = "core"
15
+ config.deliver_messages = false
16
+ end
17
+
18
+ RSpec.configure do |config|
19
+ config.treat_symbols_as_metadata_keys_with_true_values = true
20
+ config.run_all_when_everything_filtered = true
21
+ config.filter_run :focus
22
+
23
+ # Run specs in random order to surface order dependencies. If you find an
24
+ # order dependency and want to debug it, you can fix the order by providing
25
+ # the seed, which is printed after each run.
26
+ # --seed 1234
27
+ config.order = 'random'
28
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require 'active_record'
3
+
4
+ module SetupActiveRecord
5
+ # Connection
6
+ ar_config = { :test => { :adapter => 'sqlite3', :database => ":memory:" } }
7
+ ActiveRecord::Base.configurations = ar_config
8
+ ActiveRecord::Base.
9
+ establish_connection(ActiveRecord::Base.configurations[:test])
10
+
11
+ # Schema
12
+ ActiveRecord::Schema.define do
13
+ create_table :posts, :force => true do |t|
14
+ t.string :title
15
+ end
16
+ create_table :users, :force => true do |t|
17
+ t.string :name
18
+ end
19
+ end
20
+
21
+ # Models
22
+ class ::User < ActiveRecord::Base; end
23
+ class ::Post < ActiveRecord::Base; end
24
+ end
data/untied.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'untied/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "untied"
8
+ gem.version = Untied::VERSION
9
+ gem.authors = ["Guilherme Cavalcanti"]
10
+ gem.email = ["guiocavalcanti@gmail.com"]
11
+ gem.description = "Cross application ActiveRecord::Observer"
12
+ gem.summary = "Need to register an Observer which observes ActiveRecord models in different applications? Untied Observer for the rescue."
13
+ gem.homepage = "http://github.com/redu/untied"
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(spec)/})
18
+ gem.require_paths = ["lib"]
19
+
20
+ gem.add_development_dependency "rake"
21
+ gem.add_runtime_dependency "amqp"
22
+
23
+ gem.add_runtime_dependency "untied-consumer"
24
+ gem.add_runtime_dependency "untied-publisher"
25
+ end
metadata ADDED
@@ -0,0 +1,212 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: untied
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Guilherme Cavalcanti
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-10-22 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ hash: 3
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ prerelease: false
31
+ type: :development
32
+ name: rake
33
+ requirement: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ version_requirements: &id002 !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ hash: 3
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ prerelease: false
45
+ type: :runtime
46
+ name: amqp
47
+ requirement: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ version_requirements: &id003 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ hash: 3
55
+ segments:
56
+ - 0
57
+ version: "0"
58
+ prerelease: false
59
+ type: :runtime
60
+ name: untied-consumer
61
+ requirement: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ version_requirements: &id004 !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ hash: 3
69
+ segments:
70
+ - 0
71
+ version: "0"
72
+ prerelease: false
73
+ type: :runtime
74
+ name: untied-publisher
75
+ requirement: *id004
76
+ description: Cross application ActiveRecord::Observer
77
+ email:
78
+ - guiocavalcanti@gmail.com
79
+ executables:
80
+ - untied_worker
81
+ extensions: []
82
+
83
+ extra_rdoc_files: []
84
+
85
+ files:
86
+ - .gitignore
87
+ - .rvmrc
88
+ - .travis.yml
89
+ - Gemfile
90
+ - LICENSE.txt
91
+ - README.md
92
+ - Rakefile
93
+ - bin/untied_worker
94
+ - examples/goliath/.rvmrc
95
+ - examples/goliath/Gemfile
96
+ - examples/goliath/README.mkd
97
+ - examples/goliath/Rakefile
98
+ - examples/goliath/config/srv.rb
99
+ - examples/goliath/models/user.rb
100
+ - examples/goliath/observer.rb
101
+ - examples/goliath/srv.rb
102
+ - examples/rails-consumer/.rvmrc
103
+ - examples/rails-consumer/Gemfile
104
+ - examples/rails-consumer/README.mkd
105
+ - examples/rails-consumer/Rakefile
106
+ - examples/rails-consumer/app/assets/images/rails.png
107
+ - examples/rails-consumer/app/assets/javascripts/application.js
108
+ - examples/rails-consumer/app/assets/javascripts/users.js.coffee
109
+ - examples/rails-consumer/app/assets/stylesheets/application.css
110
+ - examples/rails-consumer/app/assets/stylesheets/scaffolds.css.scss
111
+ - examples/rails-consumer/app/assets/stylesheets/users.css.scss
112
+ - examples/rails-consumer/app/controllers/application_controller.rb
113
+ - examples/rails-consumer/app/controllers/users_controller.rb
114
+ - examples/rails-consumer/app/helpers/application_helper.rb
115
+ - examples/rails-consumer/app/helpers/users_helper.rb
116
+ - examples/rails-consumer/app/mailers/.gitkeep
117
+ - examples/rails-consumer/app/models/.gitkeep
118
+ - examples/rails-consumer/app/models/untied_user_observer.rb
119
+ - examples/rails-consumer/app/models/user.rb
120
+ - examples/rails-consumer/app/views/layouts/application.html.erb
121
+ - examples/rails-consumer/app/views/users/_form.html.erb
122
+ - examples/rails-consumer/app/views/users/edit.html.erb
123
+ - examples/rails-consumer/app/views/users/index.html.erb
124
+ - examples/rails-consumer/app/views/users/new.html.erb
125
+ - examples/rails-consumer/app/views/users/show.html.erb
126
+ - examples/rails-consumer/config.ru
127
+ - examples/rails-consumer/config/application.rb
128
+ - examples/rails-consumer/config/boot.rb
129
+ - examples/rails-consumer/config/database.yml
130
+ - examples/rails-consumer/config/environment.rb
131
+ - examples/rails-consumer/config/environments/development.rb
132
+ - examples/rails-consumer/config/environments/production.rb
133
+ - examples/rails-consumer/config/environments/test.rb
134
+ - examples/rails-consumer/config/initializers/backtrace_silencers.rb
135
+ - examples/rails-consumer/config/initializers/inflections.rb
136
+ - examples/rails-consumer/config/initializers/mime_types.rb
137
+ - examples/rails-consumer/config/initializers/secret_token.rb
138
+ - examples/rails-consumer/config/initializers/session_store.rb
139
+ - examples/rails-consumer/config/initializers/untied.rb
140
+ - examples/rails-consumer/config/initializers/wrap_parameters.rb
141
+ - examples/rails-consumer/config/locales/en.yml
142
+ - examples/rails-consumer/config/routes.rb
143
+ - examples/rails-consumer/db/development.sqlite3
144
+ - examples/rails-consumer/db/migrate/20121019155057_create_users.rb
145
+ - examples/rails-consumer/db/schema.rb
146
+ - examples/rails-consumer/db/seeds.rb
147
+ - examples/rails-consumer/lib/assets/.gitkeep
148
+ - examples/rails-consumer/lib/tasks/.gitkeep
149
+ - examples/rails-consumer/log/.gitkeep
150
+ - examples/rails-consumer/log/development.log
151
+ - examples/rails-consumer/public/404.html
152
+ - examples/rails-consumer/public/422.html
153
+ - examples/rails-consumer/public/500.html
154
+ - examples/rails-consumer/public/favicon.ico
155
+ - examples/rails-consumer/public/index.html
156
+ - examples/rails-consumer/public/robots.txt
157
+ - examples/rails-consumer/script/rails
158
+ - examples/rails-consumer/test/fixtures/.gitkeep
159
+ - examples/rails-consumer/test/fixtures/users.yml
160
+ - examples/rails-consumer/test/functional/.gitkeep
161
+ - examples/rails-consumer/test/functional/users_controller_test.rb
162
+ - examples/rails-consumer/test/integration/.gitkeep
163
+ - examples/rails-consumer/test/performance/browsing_test.rb
164
+ - examples/rails-consumer/test/test_helper.rb
165
+ - examples/rails-consumer/test/unit/.gitkeep
166
+ - examples/rails-consumer/test/unit/helpers/users_helper_test.rb
167
+ - examples/rails-consumer/test/unit/user_test.rb
168
+ - examples/rails-consumer/vendor/assets/javascripts/.gitkeep
169
+ - examples/rails-consumer/vendor/assets/stylesheets/.gitkeep
170
+ - examples/rails-consumer/vendor/plugins/.gitkeep
171
+ - examples/social_network.rb
172
+ - lib/untied.rb
173
+ - lib/untied/version.rb
174
+ - spec/spec_helper.rb
175
+ - spec/support/setup_ar_and_schema.rb
176
+ - untied.gemspec
177
+ homepage: http://github.com/redu/untied
178
+ licenses: []
179
+
180
+ post_install_message:
181
+ rdoc_options: []
182
+
183
+ require_paths:
184
+ - lib
185
+ required_ruby_version: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ hash: 3
191
+ segments:
192
+ - 0
193
+ version: "0"
194
+ required_rubygems_version: !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ hash: 3
200
+ segments:
201
+ - 0
202
+ version: "0"
203
+ requirements: []
204
+
205
+ rubyforge_project:
206
+ rubygems_version: 1.8.24
207
+ signing_key:
208
+ specification_version: 3
209
+ summary: Need to register an Observer which observes ActiveRecord models in different applications? Untied Observer for the rescue.
210
+ test_files:
211
+ - spec/spec_helper.rb
212
+ - spec/support/setup_ar_and_schema.rb