untied 0.0.5 → 0.0.7.pre3

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.
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-1.9.3-p429
data/README.md CHANGED
@@ -88,6 +88,35 @@ end
88
88
 
89
89
  Untied will extend the user instance with ``UserRepresenter`` just before sending it into the wire.
90
90
 
91
+ #### DelayedJob
92
+
93
+ If you want to publish messages from [DelayedJob](https://github.com/collectiveidea/delayed_job) you should be aware that is necessary to initialize AMQP and Eventmachine again after forking. It's a [known issue](https://github.com/eventmachine/eventmachine/issues/213) that Eventmachine's reactor doesn't survives process forking, so we need to setup again:
94
+
95
+ ```ruby
96
+ Delayed::Worker.lifecycle.before(:invoke_job) do
97
+ if !defined?(@@em_thread) && Delayed::Worker.delay_jobs
98
+ Delayed::Worker.logger.info "Initializing EM and AMQP"
99
+ EM.stop if EM.reactor_running?
100
+ @@em_thread = Thread.new do
101
+ EventMachine.run { AMQP.start }
102
+ end
103
+ sleep(0.25)
104
+ end
105
+ end
106
+ ```
107
+
108
+ #### Adapters
109
+
110
+ Untied::Publisher has native support to two adapters: [AMQP](https://github.com/ruby-amqp/amqp) and [Bunny](https://github.com/ruby-amqp/bunny) (default). In order to change them use the ``adapter`` configuration:
111
+
112
+ ```ruby
113
+ Untied::Publisher.configure do |config|
114
+ config.adapter = :AMQP # the default is :Bunny
115
+ end
116
+ ```
117
+
118
+ Remember that, due to the async nature of AMQP, the ``:AMQP`` adapter assumes that you are inside a [EventMachine](https://github.com/eventmachine/eventmachine) loop.
119
+
91
120
  ### Consumer
92
121
 
93
122
  On the consumer side, you just need to define the observer as you would with ActiveRecord::Observer. Remember to subclass Untied::Observer instead.
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Untied
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.7.pre3"
4
4
  end
data/untied.gemspec CHANGED
@@ -20,5 +20,5 @@ Gem::Specification.new do |gem|
20
20
  gem.add_development_dependency "rake"
21
21
 
22
22
  gem.add_runtime_dependency "untied-consumer", "~> 0.0.5"
23
- gem.add_runtime_dependency "untied-publisher", "~> 0.0.5"
23
+ gem.add_runtime_dependency "untied-publisher", "~> 0.0.7.pre3"
24
24
  end
metadata CHANGED
@@ -1,80 +1,74 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: untied
3
- version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 5
10
- version: 0.0.5
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.7.pre3
5
+ prerelease: 6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Guilherme Cavalcanti
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-11-20 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
12
+ date: 2013-05-31 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
22
17
  none: false
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- hash: 3
27
- segments:
28
- - 0
29
- version: "0"
30
- prerelease: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
31
22
  type: :development
32
- name: rake
33
- requirement: *id001
34
- - !ruby/object:Gem::Dependency
35
- version_requirements: &id002 !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
36
25
  none: false
37
- requirements:
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: untied-consumer
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
38
35
  - - ~>
39
- - !ruby/object:Gem::Version
40
- hash: 21
41
- segments:
42
- - 0
43
- - 0
44
- - 5
36
+ - !ruby/object:Gem::Version
45
37
  version: 0.0.5
46
- prerelease: false
47
38
  type: :runtime
48
- name: untied-consumer
49
- requirement: *id002
50
- - !ruby/object:Gem::Dependency
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
52
41
  none: false
53
- requirements:
42
+ requirements:
54
43
  - - ~>
55
- - !ruby/object:Gem::Version
56
- hash: 21
57
- segments:
58
- - 0
59
- - 0
60
- - 5
44
+ - !ruby/object:Gem::Version
61
45
  version: 0.0.5
62
- prerelease: false
63
- type: :runtime
46
+ - !ruby/object:Gem::Dependency
64
47
  name: untied-publisher
65
- requirement: *id003
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.0.7.pre3
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.7.pre3
66
62
  description: Cross application ActiveRecord::Observer
67
- email:
63
+ email:
68
64
  - guiocavalcanti@gmail.com
69
- executables:
65
+ executables:
70
66
  - untied_worker
71
67
  extensions: []
72
-
73
68
  extra_rdoc_files: []
74
-
75
- files:
69
+ files:
76
70
  - .gitignore
77
- - .rvmrc
71
+ - .ruby-version
78
72
  - .travis.yml
79
73
  - Gemfile
80
74
  - LICENSE.txt
@@ -171,37 +165,32 @@ files:
171
165
  - untied.gemspec
172
166
  homepage: http://github.com/redu/untied
173
167
  licenses: []
174
-
175
168
  post_install_message:
176
169
  rdoc_options: []
177
-
178
- require_paths:
170
+ require_paths:
179
171
  - lib
180
- required_ruby_version: !ruby/object:Gem::Requirement
172
+ required_ruby_version: !ruby/object:Gem::Requirement
181
173
  none: false
182
- requirements:
183
- - - ">="
184
- - !ruby/object:Gem::Version
185
- hash: 3
186
- segments:
174
+ requirements:
175
+ - - ! '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ segments:
187
179
  - 0
188
- version: "0"
189
- required_rubygems_version: !ruby/object:Gem::Requirement
180
+ hash: -1347856581359461595
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
190
182
  none: false
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- hash: 3
195
- segments:
196
- - 0
197
- version: "0"
183
+ requirements:
184
+ - - ! '>'
185
+ - !ruby/object:Gem::Version
186
+ version: 1.3.1
198
187
  requirements: []
199
-
200
188
  rubyforge_project:
201
- rubygems_version: 1.8.24
189
+ rubygems_version: 1.8.25
202
190
  signing_key:
203
191
  specification_version: 3
204
- summary: Need to register an Observer which observes ActiveRecord models in different applications? Untied Observer for the rescue.
205
- test_files:
192
+ summary: Need to register an Observer which observes ActiveRecord models in different
193
+ applications? Untied Observer for the rescue.
194
+ test_files:
206
195
  - spec/spec_helper.rb
207
196
  - spec/support/setup_ar_and_schema.rb
data/.rvmrc DELETED
@@ -1,48 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
- # development environment upon cd'ing into the directory
5
-
6
- # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional,
7
- # Only full ruby name is supported here, for short names use:
8
- # echo "rvm use 1.8.7" > .rvmrc
9
- environment_id="ruby-1.8.7-p370"
10
-
11
- # Uncomment the following lines if you want to verify rvm version per project
12
- # rvmrc_rvm_version="1.14.5 (master)" # 1.10.1 seams as a safe start
13
- # eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || {
14
- # echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading."
15
- # return 1
16
- # }
17
-
18
- # First we attempt to load the desired environment directly from the environment
19
- # file. This is very fast and efficient compared to running through the entire
20
- # CLI and selector. If you want feedback on which environment was used then
21
- # insert the word 'use' after --create as this triggers verbose mode.
22
- if [[ -d "${rvm_path:-$HOME/.rvm}/environments"
23
- && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
24
- then
25
- \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
26
- [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] &&
27
- \. "${rvm_path:-$HOME/.rvm}/hooks/after_use" || true
28
- else
29
- # If the environment file has not yet been created, use the RVM CLI to select.
30
- rvm --create "$environment_id" || {
31
- echo "Failed to create RVM environment '${environment_id}'."
32
- return 1
33
- }
34
- fi
35
-
36
- # If you use bundler, this might be useful to you:
37
- # if [[ -s Gemfile ]] && {
38
- # ! builtin command -v bundle >/dev/null ||
39
- # builtin command -v bundle | GREP_OPTIONS= \grep $rvm_path/bin/bundle >/dev/null
40
- # }
41
- # then
42
- # printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n"
43
- # gem install bundler
44
- # fi
45
- # if [[ -s Gemfile ]] && builtin command -v bundle >/dev/null
46
- # then
47
- # bundle install | GREP_OPTIONS= \grep -vE '^Using|Your bundle is complete'
48
- # fi