untied-publisher 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - 1.8.7
data/CHANGELOG.mkd ADDED
@@ -0,0 +1,4 @@
1
+ # 0.0.3
2
+
3
+ - ``abort_on_exception`` configuration
4
+ - Handling AMQP configuration inside the gem
data/README.md CHANGED
@@ -4,6 +4,8 @@ This is the publisher part of Untied. Untied is an observer pattern implementati
4
4
 
5
5
  For usage information, please visit the [Untied](http://github.com.br/redu/untied) page.
6
6
 
7
+ [![Build Status](https://travis-ci.org/redu/untied-publisher.png)](https://travis-ci.org/redu/untied-publisher)
8
+
7
9
  ## Installation
8
10
 
9
11
  Add this line to your application's Gemfile:
data/Rakefile CHANGED
@@ -1 +1,10 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/setup'
2
+ require 'rspec/core/rake_task'
3
+ Bundler::GemHelper.install_tasks
4
+
5
+ desc 'Run the specs'
6
+ RSpec::Core::RakeTask.new do |r|
7
+ r.verbose = false
8
+ end
9
+
10
+ task :default => :spec
@@ -7,7 +7,10 @@ module Untied
7
7
  def self.configure(&block)
8
8
  yield(config) if block_given?
9
9
  if config.deliver_messages
10
- Untied.start
10
+ Untied::Publisher.start
11
+ EventMachine.next_tick do
12
+ config.channel ||= AMQP::Channel.new(AMQP.connection)
13
+ end
11
14
  end
12
15
  end
13
16
 
@@ -22,6 +25,7 @@ module Untied
22
25
  config :deliver_messages, true
23
26
  config :service_name
24
27
  config :doorkeeper, nil
28
+ config :channel, nil
25
29
  end
26
30
  end
27
31
  end
@@ -11,6 +11,8 @@ module Untied
11
11
  :channel => nil,
12
12
  }.merge(opts)
13
13
 
14
+ Publisher.config.logger.info "Untied::Publisher: Producer intialized with options #{@opts.inspect}"
15
+
14
16
  @routing_key = "untied.#{@opts[:service_name]}"
15
17
 
16
18
  if !@opts[:deliver_messages]
@@ -1,5 +1,5 @@
1
1
  module Untied
2
2
  module Publisher
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -1,7 +1,18 @@
1
1
  require "untied-publisher/version"
2
2
 
3
+ require 'rubygems'
4
+ require 'bundler/setup'
5
+ require 'amqp/utilities/event_loop_helper'
6
+
3
7
  module Untied
4
8
  module Publisher
9
+ def self.start
10
+ Thread.abort_on_exception = false
11
+
12
+ AMQP::Utilities::EventLoopHelper.run do
13
+ AMQP.start
14
+ end
15
+ end
5
16
  end
6
17
  end
7
18
 
metadata CHANGED
@@ -1,153 +1,148 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: untied-publisher
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.2
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 3
10
+ version: 0.0.3
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Guilherme Cavalcanti
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-10-20 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rspec
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
17
+
18
+ date: 2012-10-23 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
22
31
  type: :development
32
+ name: rspec
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"
23
44
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: sqlite3
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
45
  type: :development
46
+ name: sqlite3
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"
39
58
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: rake
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
59
  type: :development
60
+ name: rake
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"
55
72
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
63
- name: activerecord
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
73
  type: :runtime
74
+ name: activerecord
75
+ requirement: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ version_requirements: &id005 !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ hash: 3
83
+ segments:
84
+ - 0
85
+ version: "0"
71
86
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: amqp
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
86
87
  type: :runtime
88
+ name: amqp
89
+ requirement: *id005
90
+ - !ruby/object:Gem::Dependency
91
+ version_requirements: &id006 !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ hash: 3
97
+ segments:
98
+ - 0
99
+ version: "0"
87
100
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: configurable
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
101
  type: :runtime
102
+ name: configurable
103
+ requirement: *id006
104
+ - !ruby/object:Gem::Dependency
105
+ version_requirements: &id007 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ hash: 3
111
+ segments:
112
+ - 0
113
+ version: "0"
103
114
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: json
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
115
  type: :runtime
116
+ name: json
117
+ requirement: *id007
118
+ - !ruby/object:Gem::Dependency
119
+ version_requirements: &id008 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ hash: 3
125
+ segments:
126
+ - 0
127
+ version: "0"
119
128
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: debugger
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
134
129
  type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
130
+ name: ruby-debug
131
+ requirement: *id008
142
132
  description: Provides the Publisher part of the Untied gem.
143
- email:
133
+ email:
144
134
  - guiocavalcanti@gmail.com
145
135
  executables: []
136
+
146
137
  extensions: []
138
+
147
139
  extra_rdoc_files: []
148
- files:
140
+
141
+ files:
149
142
  - .gitignore
150
143
  - .rvmrc
144
+ - .travis.yml
145
+ - CHANGELOG.mkd
151
146
  - Gemfile
152
147
  - LICENSE.txt
153
148
  - README.md
@@ -169,37 +164,38 @@ files:
169
164
  - untied-publisher.gemspec
170
165
  homepage: http://github.com/redu/untied
171
166
  licenses: []
167
+
172
168
  post_install_message:
173
169
  rdoc_options: []
174
- require_paths:
170
+
171
+ require_paths:
175
172
  - lib
176
- required_ruby_version: !ruby/object:Gem::Requirement
173
+ required_ruby_version: !ruby/object:Gem::Requirement
177
174
  none: false
178
- requirements:
179
- - - ! '>='
180
- - !ruby/object:Gem::Version
181
- version: '0'
182
- segments:
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ hash: 3
179
+ segments:
183
180
  - 0
184
- hash: 3528012566978136477
185
- required_rubygems_version: !ruby/object:Gem::Requirement
181
+ version: "0"
182
+ required_rubygems_version: !ruby/object:Gem::Requirement
186
183
  none: false
187
- requirements:
188
- - - ! '>='
189
- - !ruby/object:Gem::Version
190
- version: '0'
191
- segments:
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ hash: 3
188
+ segments:
192
189
  - 0
193
- hash: 3528012566978136477
190
+ version: "0"
194
191
  requirements: []
192
+
195
193
  rubyforge_project:
196
194
  rubygems_version: 1.8.24
197
195
  signing_key:
198
196
  specification_version: 3
199
- summary: Untied is a Observer Pattern implementation for distributed systems. Think
200
- as a cross-application ActiveRecord::Observer. This gem handles the publishing of
201
- events
202
- test_files:
197
+ summary: Untied is a Observer Pattern implementation for distributed systems. Think as a cross-application ActiveRecord::Observer. This gem handles the publishing of events
198
+ test_files:
203
199
  - spec/doorkeeper_spec.rb
204
200
  - spec/event_spec.rb
205
201
  - spec/producer_spec.rb