untied 0.0.5 → 0.0.7.pre3

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