euston-daemons 1.2.6 → 1.2.7

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/Gemfile CHANGED
@@ -1,3 +1,8 @@
1
+ if RUBY_VERSION =~ /1.9/
2
+ Encoding.default_external = Encoding::UTF_8
3
+ Encoding.default_internal = Encoding::UTF_8
4
+ end
5
+
1
6
  source :rubygems
2
7
  gemspec
3
8
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'euston-daemons'
3
- s.version = '1.2.6'
3
+ s.version = '1.2.7'
4
4
  s.platform = RUBY_PLATFORM.to_s == 'java' ? 'java' : Gem::Platform::RUBY
5
5
  s.authors = ['Lee Henson', 'Guy Boertje']
6
6
  s.email = ['lee.m.henson@gmail.com', 'guyboertje@gmail.com']
@@ -62,13 +62,13 @@ Gem::Specification.new do |s|
62
62
  s.add_dependency 'activemodel', '>= 3.0.10'
63
63
  s.add_dependency 'activesupport', '>= 3.0.10'
64
64
  s.add_dependency 'erb-yaml', '~> 1.0.0'
65
- s.add_dependency 'euston', '~> 1.2.0'
66
- s.add_dependency 'euston-eventstore', '~> 1.2.0'
67
- s.add_dependency 'euston-rabbitmq', '~> 1.2.0'
65
+ s.add_dependency 'euston', '~> 1.2.4'
66
+ s.add_dependency 'euston-eventstore', '~> 1.2.3'
67
+ s.add_dependency 'euston-rabbitmq', '~> 1.2.2'
68
68
  s.add_dependency 'hollywood', '~> 1.0.0'
69
69
  s.add_dependency 'i18n', '>= 0.5.0'
70
- s.add_dependency 'macaddr', '~> 1.4.0'
71
70
  s.add_dependency 'safely', '~> 0.3.0'
71
+ s.add_dependency 'uuidtools', '~> 2.1.2'
72
72
 
73
73
  if RUBY_PLATFORM.to_s == 'java'
74
74
  s.add_dependency 'hot_bunnies', '~> 1.3.0.pre1'
@@ -80,5 +80,6 @@ Gem::Specification.new do |s|
80
80
  s.add_development_dependency 'ffaker', '~> 1.8.0'
81
81
  s.add_development_dependency 'fuubar', '~> 0.0.0'
82
82
  s.add_development_dependency 'rabbitmqadmin-cli', '~> 1.0.2'
83
+ s.add_development_dependency 'rake', '~> 0.9.2'
83
84
  s.add_development_dependency 'rspec', '~> 2.6.0'
84
85
  end
@@ -1,6 +1,6 @@
1
1
  require 'i18n'
2
2
  require 'hot_bunnies'
3
- require 'macaddr'
3
+ require 'uuidtools'
4
4
  require 'euston-rabbitmq'
5
5
 
6
6
  require 'euston-daemons/pipeline/lib/command_processor/failed_message'
@@ -40,7 +40,9 @@ module Euston
40
40
  def initialize data
41
41
  @logger = data[:logger]
42
42
  @daemon_config = data[:daemon_config]
43
- @i18n_locales_path = @daemon_config[:i18n_locales_path]
43
+ if data.has_key?(:app_root) && @daemon_config.has_key?(:i18n_locales_path)
44
+ @i18n_locales_path = File.join(data[:app_root], @daemon_config[:i18n_locales_path], "*")
45
+ end
44
46
 
45
47
  @amqp_config = ErbYaml.read data[:amqp_config_path], data[:environment]
46
48
  @mongo_config = ErbYaml.read data[:mongo_config_path], data[:environment]
@@ -68,7 +70,7 @@ module Euston
68
70
  setup_mongo @mongo_config
69
71
  setup_euston @mongo_config[:event_store_database]
70
72
 
71
- I18n.load_path += Dir[@i18n_locales_path] unless @i18n_locales_path.nil?
73
+ I18n.load_path += Dir.glob(@i18n_locales_path) unless @i18n_locales_path.nil?
72
74
 
73
75
  self.class
74
76
  end
@@ -49,13 +49,13 @@ module Euston
49
49
  end
50
50
 
51
51
  (1..env.event_store_dispatchers).each do |i|
52
- component = EventStoreDispatcher::Component.new env.amqp_connection.create_channel, "#{Mac.addr.to_s} #{i}", @log
52
+ component = EventStoreDispatcher::Component.new env.amqp_connection.create_channel, "#{UUIDTools::UUID.mac_address} #{i}", @log
53
53
  component = register_component "event_store_dispatcher_#{i}", component
54
54
  component.wait_time = env.event_store_dispatcher_wait_time
55
55
  end
56
56
 
57
57
  (1..env.message_buffers).each do |i|
58
- component = MessageBuffer::Component.new env.amqp_connection.create_channel, "#{Mac.addr.to_s} #{i}", @log
58
+ component = MessageBuffer::Component.new env.amqp_connection.create_channel, "#{UUIDTools::UUID.mac_address} #{i}", @log
59
59
  component = register_component "message_buffer_#{i}", component
60
60
  component.wait_time = env.message_buffer_wait_time
61
61
  end
@@ -5,7 +5,8 @@ module Euston
5
5
  :daemon_config_path,
6
6
  :event_handler_namespaces,
7
7
  :mongo_config_path,
8
- :user_defined_components
8
+ :user_defined_components,
9
+ :app_root
9
10
 
10
11
  def initialize environment
11
12
  super(environment, :pipeline_daemon)
@@ -37,6 +38,9 @@ module Euston
37
38
 
38
39
  @logger.debug "User-defined components: #{@user_defined_components.count}"
39
40
  @data[:user_defined_components] = @user_defined_components.to_a.flatten
41
+
42
+ @logger.debug "App root: #{@app_root}"
43
+ @data[:app_root] = @app_root
40
44
  end
41
45
 
42
46
  def load_environment
@@ -1,5 +1,5 @@
1
1
  module Euston
2
2
  module Daemons
3
- VERSION = "1.2.6"
3
+ VERSION = "1.2.7"
4
4
  end
5
5
  end
@@ -3,7 +3,7 @@ describe 'event handler client', :purge_event_store, :purge_rabbitmq do
3
3
 
4
4
  let(:logger) { Euston::NullLogger.instance }
5
5
  let(:subscription) { StubRetryingSubscription.new }
6
- let(:client) { Euston::Daemons::Pipeline::EventProcessor::Component.new @channel, reference, 1, logger }
6
+ let(:client) { Euston::Daemons::Pipeline::EventProcessor::Component.new @channel, [reference], 1, logger }
7
7
  let(:aggregate) { Euston::Daemons::SampleModel::Counter2.new }
8
8
  let(:saved_aggregates) { [] }
9
9
 
@@ -21,7 +21,7 @@ describe 'event handler client', :purge_event_store, :purge_rabbitmq do
21
21
  :type => :external_thing_happened,
22
22
  :timestamp => Time.now.to_f,
23
23
  :version => 1 },
24
- :body => {} }
24
+ :body => { :id => Uuid.generate } }
25
25
 
26
26
  subscription.stub_message_receipt event
27
27
  end
@@ -21,7 +21,7 @@ describe 'message buffer component', :purge_event_store do
21
21
 
22
22
  before do
23
23
  Euston::DaemonEnvironment.event_store_mongodb = @event_store_database
24
- channel.stub(:topic) { exchange }
24
+ channel.stub(:exchange) { exchange }
25
25
  exchange.stub(:name) { 'commands' }
26
26
  exchange.stub(:publish) { |json, options| published << { :json => json, :options => options } }
27
27
  end
@@ -43,7 +43,6 @@ describe 'message buffer component', :purge_event_store do
43
43
  end
44
44
 
45
45
  context 'there is a due command' do
46
-
47
46
  before do
48
47
  buffer.enqueue :commands, command
49
48
  end
data/spec/spec_helper.rb CHANGED
@@ -75,6 +75,8 @@ RSpec.configure do |config|
75
75
  end
76
76
 
77
77
  config.before(:all, :purge_rabbitmq) do
78
+ initialize_rabbitmq amqp_config
79
+
78
80
  @amqp_connection = HotBunnies.connect amqp_config
79
81
 
80
82
  initialize_amqp @amqp_connection
@@ -1,6 +1,7 @@
1
1
  class StubRetryingSubscription
2
2
  include Hollywood
3
3
 
4
+ def get; end
4
5
  def subscribe; end
5
6
 
6
7
  def stub_message_receipt message
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: euston-daemons
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.2.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-11-01 00:00:00.000000000 Z
13
+ date: 2011-12-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activemodel
17
- requirement: &79766170 !ruby/object:Gem::Requirement
17
+ requirement: &70239715115200 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.0.10
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *79766170
25
+ version_requirements: *70239715115200
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &79765810 !ruby/object:Gem::Requirement
28
+ requirement: &70239715113020 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 3.0.10
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *79765810
36
+ version_requirements: *70239715113020
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: erb-yaml
39
- requirement: &79765550 !ruby/object:Gem::Requirement
39
+ requirement: &70239715110860 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,43 +44,43 @@ dependencies:
44
44
  version: 1.0.0
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *79765550
47
+ version_requirements: *70239715110860
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: euston
50
- requirement: &79765310 !ruby/object:Gem::Requirement
50
+ requirement: &70239715109520 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
54
54
  - !ruby/object:Gem::Version
55
- version: 1.2.0
55
+ version: 1.2.4
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *79765310
58
+ version_requirements: *70239715109520
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: euston-eventstore
61
- requirement: &79751940 !ruby/object:Gem::Requirement
61
+ requirement: &70239715106500 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
65
65
  - !ruby/object:Gem::Version
66
- version: 1.2.0
66
+ version: 1.2.3
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *79751940
69
+ version_requirements: *70239715106500
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: euston-rabbitmq
72
- requirement: &79751700 !ruby/object:Gem::Requirement
72
+ requirement: &70239715103980 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 1.2.0
77
+ version: 1.2.2
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *79751700
80
+ version_requirements: *70239715103980
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: hollywood
83
- requirement: &79751470 !ruby/object:Gem::Requirement
83
+ requirement: &70239715102160 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 1.0.0
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *79751470
91
+ version_requirements: *70239715102160
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: i18n
94
- requirement: &79751180 !ruby/object:Gem::Requirement
94
+ requirement: &70239715097780 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,32 +99,32 @@ dependencies:
99
99
  version: 0.5.0
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *79751180
102
+ version_requirements: *70239715097780
103
103
  - !ruby/object:Gem::Dependency
104
- name: macaddr
105
- requirement: &79750930 !ruby/object:Gem::Requirement
104
+ name: safely
105
+ requirement: &70239715096000 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
109
109
  - !ruby/object:Gem::Version
110
- version: 1.4.0
110
+ version: 0.3.0
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *79750930
113
+ version_requirements: *70239715096000
114
114
  - !ruby/object:Gem::Dependency
115
- name: safely
116
- requirement: &79750690 !ruby/object:Gem::Requirement
115
+ name: uuidtools
116
+ requirement: &70239715089480 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
120
120
  - !ruby/object:Gem::Version
121
- version: 0.3.0
121
+ version: 2.1.2
122
122
  type: :runtime
123
123
  prerelease: false
124
- version_requirements: *79750690
124
+ version_requirements: *70239715089480
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: awesome_print
127
- requirement: &79750450 !ruby/object:Gem::Requirement
127
+ requirement: &70239715086900 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ~>
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: 0.4.0
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *79750450
135
+ version_requirements: *70239715086900
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: cranky
138
- requirement: &79750180 !ruby/object:Gem::Requirement
138
+ requirement: &70239715083440 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ~>
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: 0.2.0
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *79750180
146
+ version_requirements: *70239715083440
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: ffaker
149
- requirement: &79749840 !ruby/object:Gem::Requirement
149
+ requirement: &70239715077700 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ~>
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: 1.8.0
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *79749840
157
+ version_requirements: *70239715077700
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: fuubar
160
- requirement: &79749450 !ruby/object:Gem::Requirement
160
+ requirement: &70239715073460 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ~>
@@ -165,10 +165,10 @@ dependencies:
165
165
  version: 0.0.0
166
166
  type: :development
167
167
  prerelease: false
168
- version_requirements: *79749450
168
+ version_requirements: *70239715073460
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: rabbitmqadmin-cli
171
- requirement: &79749050 !ruby/object:Gem::Requirement
171
+ requirement: &70239715072400 !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
174
  - - ~>
@@ -176,10 +176,21 @@ dependencies:
176
176
  version: 1.0.2
177
177
  type: :development
178
178
  prerelease: false
179
- version_requirements: *79749050
179
+ version_requirements: *70239715072400
180
+ - !ruby/object:Gem::Dependency
181
+ name: rake
182
+ requirement: &70239715069220 !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - ~>
186
+ - !ruby/object:Gem::Version
187
+ version: 0.9.2
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: *70239715069220
180
191
  - !ruby/object:Gem::Dependency
181
192
  name: rspec
182
- requirement: &79748480 !ruby/object:Gem::Requirement
193
+ requirement: &70239715065380 !ruby/object:Gem::Requirement
183
194
  none: false
184
195
  requirements:
185
196
  - - ~>
@@ -187,7 +198,7 @@ dependencies:
187
198
  version: 2.6.0
188
199
  type: :development
189
200
  prerelease: false
190
- version_requirements: *79748480
201
+ version_requirements: *70239715065380
191
202
  description: ''
192
203
  email:
193
204
  - lee.m.henson@gmail.com
@@ -263,4 +274,18 @@ rubygems_version: 1.8.10
263
274
  signing_key:
264
275
  specification_version: 3
265
276
  summary: Message buffer, command processor and event processor daemons for Euston-RabbitMq
266
- test_files: []
277
+ test_files:
278
+ - spec/daemons/command_processor_spec.rb
279
+ - spec/daemons/event_processor_spec.rb
280
+ - spec/daemons/message_buffer_spec.rb
281
+ - spec/daemons/snapshotter_spec.rb
282
+ - spec/spec_helper.rb
283
+ - spec/support/factories/commands.rb
284
+ - spec/support/factories/commit.rb
285
+ - spec/support/factories/event_message.rb
286
+ - spec/support/factories/events.rb
287
+ - spec/support/filters.rb
288
+ - spec/support/sample_model/commands.rb
289
+ - spec/support/sample_model/counter.rb
290
+ - spec/support/sample_model/counter2.rb
291
+ - spec/support/stub_retrying_subscription.rb