batsir 0.1.0 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/.travis.yml +9 -1
  2. data/CHANGES.md +54 -0
  3. data/Gemfile +7 -10
  4. data/README.md +49 -5
  5. data/Rakefile +23 -16
  6. data/batsir.gemspec +43 -15
  7. data/lib/batsir/acceptors/acceptor.rb +31 -5
  8. data/lib/batsir/acceptors/amqp_acceptor.rb +36 -8
  9. data/lib/batsir/amqp.rb +35 -7
  10. data/lib/batsir/amqp_consumer.rb +8 -0
  11. data/lib/batsir/compiler/stage_worker_compiler.rb +86 -0
  12. data/lib/batsir/config.rb +208 -24
  13. data/lib/batsir/dsl/conditional_notifier_declaration.rb +31 -0
  14. data/lib/batsir/dsl/dsl_mappings.rb +27 -2
  15. data/lib/batsir/errors.rb +18 -0
  16. data/lib/batsir/filter.rb +5 -0
  17. data/lib/batsir/log.rb +7 -0
  18. data/lib/batsir/logger.rb +37 -0
  19. data/lib/batsir/logo.rb +3 -8
  20. data/lib/batsir/notifiers/amqp_notifier.rb +14 -4
  21. data/lib/batsir/notifiers/conditional_notifier.rb +29 -0
  22. data/lib/batsir/notifiers/notifier.rb +6 -5
  23. data/lib/batsir/registry.rb +6 -2
  24. data/lib/batsir/stage.rb +9 -4
  25. data/lib/batsir/stage_worker.rb +3 -56
  26. data/lib/batsir/strategies/retry_strategy.rb +35 -0
  27. data/lib/batsir/strategies/strategy.rb +20 -0
  28. data/lib/batsir/transformers/field_transformer.rb +2 -3
  29. data/lib/batsir/transformers/json_input_transformer.rb +6 -2
  30. data/lib/batsir/transformers/json_output_transformer.rb +6 -2
  31. data/lib/batsir/transformers/transformer.rb +5 -1
  32. data/lib/batsir/version.rb +10 -0
  33. data/lib/batsir.rb +31 -13
  34. data/spec/batsir/acceptors/acceptor_spec.rb +7 -78
  35. data/spec/batsir/acceptors/amqp_acceptor_spec.rb +55 -66
  36. data/spec/batsir/acceptors/shared_examples.rb +102 -0
  37. data/spec/batsir/amqp_spec.rb +58 -0
  38. data/spec/batsir/chain_spec.rb +4 -4
  39. data/spec/batsir/config_spec.rb +97 -0
  40. data/spec/batsir/dsl/chain_mapping_spec.rb +5 -6
  41. data/spec/batsir/dsl/conditional_notifier_mapping_spec.rb +80 -0
  42. data/spec/batsir/dsl/stage_mapping_spec.rb +38 -20
  43. data/spec/batsir/filter_queue_spec.rb +9 -15
  44. data/spec/batsir/filter_spec.rb +4 -5
  45. data/spec/batsir/log_spec.rb +10 -0
  46. data/spec/batsir/logger_spec.rb +46 -0
  47. data/spec/batsir/notifiers/amqp_notifier_spec.rb +43 -22
  48. data/spec/batsir/notifiers/conditional_notifier_spec.rb +62 -0
  49. data/spec/batsir/notifiers/notifier_spec.rb +4 -66
  50. data/spec/batsir/notifiers/shared_examples.rb +100 -0
  51. data/spec/batsir/registry_spec.rb +48 -0
  52. data/spec/batsir/stage_spec.rb +91 -85
  53. data/spec/batsir/stage_worker_spec.rb +13 -13
  54. data/spec/batsir/strategies/retry_strategy_spec.rb +58 -0
  55. data/spec/batsir/strategies/strategy_spec.rb +28 -0
  56. data/spec/batsir/support/bunny_mocks.rb +78 -5
  57. data/spec/batsir/transformers/field_transformer_spec.rb +22 -22
  58. data/spec/batsir/transformers/json_input_transformer_spec.rb +8 -3
  59. data/spec/batsir/transformers/json_output_transformer_spec.rb +2 -2
  60. data/spec/batsir/transformers/transformer_spec.rb +18 -4
  61. data/spec/spec_helper.rb +6 -2
  62. metadata +78 -23
  63. data/VERSION +0 -1
@@ -0,0 +1,28 @@
1
+ require File.join( File.dirname(__FILE__), "..", "..", "spec_helper" )
2
+
3
+ describe Batsir::Strategies::Strategy do
4
+ let( :strategy_class ) {
5
+ Batsir::Strategies::Strategy
6
+ }
7
+
8
+ class MockContext
9
+ def execute(message)
10
+ end
11
+ end
12
+
13
+ class DefunctMockContext; end
14
+
15
+ it 'has an #execute method' do
16
+ strategy_class.instance_methods.map{|im| im.to_s}.should include "execute"
17
+ end
18
+
19
+ it 'has an accessable context' do
20
+ c = MockContext.new
21
+ strategy_class.new(c).context.should == c
22
+ end
23
+
24
+ it 'detects an incorrect context object being passed' do
25
+ c = DefunctMockContext.new
26
+ lambda{strategy_class.new(c)}.should raise_error Batsir::Errors::ExecuteMethodNotImplementedError
27
+ end
28
+ end
@@ -8,9 +8,22 @@ module Bunny
8
8
  yield @instance
9
9
  end
10
10
 
11
+ def self.new(options = {})
12
+ @instance = BunnyInstance.new(options)
13
+ @instance
14
+ end
15
+
16
+ class Consumer
17
+ def initialize(channel, queue, consumer_tag = 'test', no_ack = true, exclusive = false, arguments = {})
18
+ @channel = channel
19
+ @queue = queue
20
+ end
21
+ end
22
+
11
23
  class BunnyInstance
12
24
  attr_accessor :queues
13
25
  attr_accessor :options
26
+ attr_accessor :channel
14
27
  attr_accessor :exchange
15
28
 
16
29
  def initialize(options = {})
@@ -18,27 +31,66 @@ module Bunny
18
31
  @queues = {}
19
32
  end
20
33
 
34
+ def start
35
+ @channel = create_channel
36
+ self
37
+ end
38
+
21
39
  def exchange(exchange = nil)
22
- @exchange = BunnyExchange.new(exchange) if exchange
40
+ @exchange = BunnyExchange.new(self, exchange) if exchange
23
41
  @exchange
24
42
  end
25
43
 
26
- def queue(queue)
44
+ def queue(queue, options = {})
27
45
  @queues[queue] = BunnyQueue.new
28
46
  end
47
+
48
+ def create_channel
49
+ self
50
+ end
51
+
52
+ def connection
53
+ self
54
+ end
55
+
56
+ def host
57
+ @options[:host]
58
+ end
59
+
60
+ def port
61
+ @options[:port]
62
+ end
63
+
64
+ def user
65
+ @options[:user]
66
+ end
67
+
68
+ def pass
69
+ @options[:pass]
70
+ end
71
+
72
+ def vhost
73
+ @options[:vhost]
74
+ end
75
+
76
+ def number
77
+ 1
78
+ end
29
79
  end
30
80
 
31
81
  class BunnyExchange
32
82
  attr_accessor :name
33
83
  attr_accessor :key
34
84
  attr_accessor :message
85
+ attr_accessor :channel
35
86
 
36
- def initialize(name)
87
+ def initialize(channel, name)
88
+ @channel = channel
37
89
  @name = name
38
90
  end
39
91
 
40
92
  def publish(message, options = {})
41
- @key = options[:key]
93
+ @key = options[:routing_key] || options[:key]
42
94
  @message = message
43
95
  end
44
96
  end
@@ -48,15 +100,36 @@ module Bunny
48
100
  attr_accessor :block
49
101
  attr_accessor :bound_exchange
50
102
  attr_accessor :bound_key
103
+ attr_accessor :consumer
104
+
105
+ def initialize
106
+ @bindings = []
107
+ end
51
108
 
52
109
  def bind(exchange, options)
53
110
  @bound_exchange = exchange
54
- @bound_key = options[:key]
111
+
112
+ @bound_key = options[:routing_key] || options[:key]
113
+ @bindings << {:exchange => @bound_exchange.name, :routing_key => @bound_key}
55
114
  end
56
115
 
57
116
  def subscribe(*args, &block)
58
117
  @arguments = *args
59
118
  @block = block
60
119
  end
120
+
121
+ def subscribe_with(consumer, opts = {:block => false})
122
+ @block ||= opts[:block]
123
+ @consumer = consumer
124
+ @consumer
125
+ end
126
+
127
+ def name
128
+ @bound_key
129
+ end
130
+
131
+ def channel
132
+ @bound_exchange.channel
133
+ end
61
134
  end
62
135
  end
@@ -5,51 +5,52 @@ describe Batsir::Transformers::FieldTransformer do
5
5
  Batsir::Transformers::FieldTransformer
6
6
  end
7
7
 
8
- it "should accept an options hash in its initializer" do
8
+ it "accepts an options hash in its initializer" do
9
9
  transformer_instance = transformer_class.new( {} )
10
10
  transformer_instance.should_not be_nil
11
11
  transformer_instance.should be_a transformer_class
12
12
  end
13
13
 
14
- it "should be possible to set a field mapping using the 'fields' option" do
14
+ it "can set a field mapping using the 'fields' option" do
15
15
  field_mapping = {:foo => :bar}
16
16
  transformer = transformer_class.new( :fields => field_mapping )
17
17
  transformer.fields.should == field_mapping
18
18
  end
19
19
 
20
- it "should use the fields mapping given in an options hash to transform the message using #transform" do
21
- field_mapping = {:foo => :bar}
20
+ it "uses the fields mapping given in an options hash to transform the message using #transform" do
21
+ field_mapping = {:foo => 'bar'}
22
22
  transformer = transformer_class.new( :fields => field_mapping )
23
23
 
24
- message = {:bar => "bar"}
24
+ message = {'bar' => 123}
25
25
  transformed_message = transformer.transform(message)
26
- transformed_message.should have_key :foo
27
- transformed_message.should_not have_key :bar
28
- transformed_message[:foo].should == "bar"
26
+ transformed_message.should have_key 'foo'
27
+ transformed_message.should_not have_key :foo
28
+ transformed_message.should_not have_key 'bar'
29
+ transformed_message['foo'].should == 123
29
30
  end
30
31
 
31
- it "should be possible to use symbols and string based keys and values all the same" do
32
+ it "can use symbols and string based keys and values all the same" do
32
33
  field_mapping = {:foo => "bar", "john" => :doe}
33
34
  transformer = transformer_class.new( :fields => field_mapping )
34
35
 
35
36
  message = {:bar => "foo", "doe" => :john}
36
37
  transformed_message = transformer.transform(message)
37
- transformed_message[:foo].should == "foo"
38
- transformed_message[:john].should == :john
38
+ transformed_message['foo'].should == 'foo'
39
+ transformed_message['john'].should == :john
39
40
  end
40
41
 
41
- it "should remove options not in the fields option when a fields option is given" do
42
+ it "removes options not in the fields option when a fields option is given" do
42
43
  field_mapping = {:foo => :bar}
43
44
  transformer = transformer_class.new( :fields => field_mapping )
44
45
 
45
- message = {:bar => "bar", :john => :doe}
46
+ message = {'bar' => "bar", 'john' => :doe}
46
47
  transformed_message = transformer.transform(message)
47
- transformed_message.should have_key :foo
48
- transformed_message.should_not have_key :bar
49
- transformed_message.should_not have_key :john
48
+ transformed_message.should have_key 'foo'
49
+ transformed_message.should_not have_key 'bar'
50
+ transformed_message.should_not have_key 'john'
50
51
  end
51
52
 
52
- it "should not remove fields when no mapping is given" do
53
+ it "does not remove fields when no mapping is given, but enforces the no_symbol_keys principle" do
53
54
  transformer = transformer_class.new
54
55
 
55
56
  message = {:bar => "bar", :john => :doe}
@@ -58,16 +59,15 @@ describe Batsir::Transformers::FieldTransformer do
58
59
  transformed_message.should have_key :john
59
60
  end
60
61
 
61
- it "should correctly handle more complex field mapping" do
62
+ it "correctly handles more complex field mapping" do
62
63
  field_mapping = {:id => :old_id}
63
64
  transformer = transformer_class.new( :fields => field_mapping )
64
65
 
65
66
  message = {:id => 2, :old_id => 1, :john => :doe}
66
67
  transformed_message = transformer.transform(message)
67
68
 
68
- transformed_message.should have_key :id
69
- transformed_message.should_not have_key :old_id
70
- transformed_message.should_not have_key :john
69
+ transformed_message.should have_key 'id'
70
+ transformed_message.should_not have_key 'old_id'
71
+ transformed_message.should_not have_key 'john'
71
72
  end
72
-
73
73
  end
@@ -1,17 +1,17 @@
1
1
  require File.join( File.dirname(__FILE__), "..", "..", "spec_helper" )
2
2
 
3
3
  describe Batsir::Transformers::JSONInputTransformer do
4
- it "should be a Batsir::Transformers::Transformer" do
4
+ it "is a Batsir::Transformers::Transformer" do
5
5
  subject.should be_a Batsir::Transformers::Transformer
6
6
  end
7
7
 
8
- it "should transform the input to a ruby object" do
8
+ it "transforms the input to a ruby object" do
9
9
  some_json = '{"foo" : "bar"}'
10
10
  result = subject.transform(some_json)
11
11
  result.should be_a Hash
12
12
  end
13
13
 
14
- it "should transform the input using string names" do
14
+ it "transforms the input using string names" do
15
15
  some_json = '{"foo" : "bar"}'
16
16
  result = subject.transform(some_json)
17
17
 
@@ -19,4 +19,9 @@ describe Batsir::Transformers::JSONInputTransformer do
19
19
  result["foo"].should_not be_nil
20
20
  result["foo"].should == "bar"
21
21
  end
22
+
23
+ it "should throw a TransformError when the input is malformed" do
24
+ test = Batsir::Transformers::JSONInputTransformer.new
25
+ expect{ test.transform("1") }.to raise_error Batsir::Errors::TransformError
26
+ end
22
27
  end
@@ -1,11 +1,11 @@
1
1
  require File.join( File.dirname(__FILE__), "..", "..", "spec_helper" )
2
2
 
3
3
  describe Batsir::Transformers::JSONOutputTransformer do
4
- it "should be a Batsir::Transformers::Transformer" do
4
+ it "is a Batsir::Transformers::Transformer" do
5
5
  subject.should be_a Batsir::Transformers::Transformer
6
6
  end
7
7
 
8
- it "should transform a hash to a valid json hash" do
8
+ it "transforms a hash to a valid json hash" do
9
9
  some_hash = {:foo => :bar}
10
10
  some_hash.should be_a Hash
11
11
 
@@ -5,18 +5,32 @@ describe Batsir::Transformers::Transformer do
5
5
  Batsir::Transformers::Transformer
6
6
  end
7
7
 
8
- it "should accept an options hash in its initializer" do
8
+ it "accepts an options hash in its initialiser" do
9
9
  transformer_instance = transformer_class.new( {} )
10
10
  transformer_instance.should_not be_nil
11
11
  transformer_instance.should be_a transformer_class
12
12
  end
13
13
 
14
- it "should have a #transform method" do
14
+ it "has a #transform method" do
15
15
  transformer_class.instance_methods.map{|m| m.to_s}.should include "transform"
16
16
  end
17
17
 
18
- it "should return the message by default" do
18
+ it "has an #execute method" do
19
+ transformer_class.instance_methods.map{|m| m.to_s}.should include "execute"
20
+ end
21
+
22
+ it 'raises an error when the #execute method is not implemented' do
23
+ message = {:foo => :bar}
24
+ lambda{transformer_class.new.transform(message)}.should raise_error NotImplementedError
25
+ end
26
+
27
+ it "can transform the message" do
28
+ class Autobot < Batsir::Transformers::Transformer
29
+ def execute(message)
30
+ message = "transform"
31
+ end
32
+ end
19
33
  message = {:foo => :bar}
20
- transformer_class.new.transform(message).should == message
34
+ Autobot.new.transform(message).should == "transform"
21
35
  end
22
36
  end
data/spec/spec_helper.rb CHANGED
@@ -11,12 +11,16 @@ require 'rspec/core'
11
11
 
12
12
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
13
  $LOAD_PATH.unshift(File.dirname(__FILE__))
14
+
14
15
  require 'batsir'
15
16
  require 'batsir/support/mock_filters'
16
17
  require 'batsir/support/bunny_mocks'
17
18
  Celluloid.logger.level = Logger::ERROR
18
19
  RSpec.configure do |config|
19
- config.after(:each) do
20
- Celluloid.shutdown
20
+ config.before(:each) do
21
+ Celluloid.boot
21
22
  end
23
+ # config.after(:each) do
24
+ # Celluloid.shutdown
25
+ # end
22
26
  end
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: batsir
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - J.W. Koelewijn
9
+ - Bram de Vries
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2012-06-28 00:00:00.000000000 Z
13
+ date: 2013-10-24 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: bundler
@@ -43,12 +44,28 @@ dependencies:
43
44
  - - ! '>='
44
45
  - !ruby/object:Gem::Version
45
46
  version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rdoc
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
46
63
  - !ruby/object:Gem::Dependency
47
64
  name: blockenspiel
48
65
  requirement: !ruby/object:Gem::Requirement
49
66
  none: false
50
67
  requirements:
51
- - - ~>
68
+ - - ! '>='
52
69
  - !ruby/object:Gem::Version
53
70
  version: 0.4.3
54
71
  type: :runtime
@@ -56,17 +73,33 @@ dependencies:
56
73
  version_requirements: !ruby/object:Gem::Requirement
57
74
  none: false
58
75
  requirements:
59
- - - ~>
76
+ - - ! '>='
60
77
  - !ruby/object:Gem::Version
61
78
  version: 0.4.3
62
79
  - !ruby/object:Gem::Dependency
63
80
  name: celluloid
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ version: 0.14.1
87
+ type: :runtime
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ version: 0.14.1
95
+ - !ruby/object:Gem::Dependency
96
+ name: sidekiq
64
97
  requirement: !ruby/object:Gem::Requirement
65
98
  none: false
66
99
  requirements:
67
100
  - - ! '>='
68
101
  - !ruby/object:Gem::Version
69
- version: '0'
102
+ version: 2.5.4
70
103
  type: :runtime
71
104
  prerelease: false
72
105
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,9 +107,9 @@ dependencies:
74
107
  requirements:
75
108
  - - ! '>='
76
109
  - !ruby/object:Gem::Version
77
- version: '0'
110
+ version: 2.5.4
78
111
  - !ruby/object:Gem::Dependency
79
- name: sidekiq
112
+ name: bunny
80
113
  requirement: !ruby/object:Gem::Requirement
81
114
  none: false
82
115
  requirements:
@@ -92,7 +125,7 @@ dependencies:
92
125
  - !ruby/object:Gem::Version
93
126
  version: '0'
94
127
  - !ruby/object:Gem::Dependency
95
- name: bunny
128
+ name: json
96
129
  requirement: !ruby/object:Gem::Requirement
97
130
  none: false
98
131
  requirements:
@@ -108,7 +141,7 @@ dependencies:
108
141
  - !ruby/object:Gem::Version
109
142
  version: '0'
110
143
  - !ruby/object:Gem::Dependency
111
- name: json
144
+ name: log4r
112
145
  requirement: !ruby/object:Gem::Requirement
113
146
  none: false
114
147
  requirements:
@@ -124,64 +157,86 @@ dependencies:
124
157
  - !ruby/object:Gem::Version
125
158
  version: '0'
126
159
  description: ! "Batsir uses so called stages to define operation queues. These operation
127
- queus\n consist of several operations that will be executed one after the other.
128
- Each stage\n is defined by its name and the queue on which it will listen. Once
129
- a message is received\n on the queue, it is dispatched to a worker in a seperate
130
- thread that will pass the message\n to each operation in the operation queue.\n
131
- Operation queues can have 4 different operations, 1 common operation type, and 3
132
- special \n purpose operations: retrieval operations (which are always executed before
133
- all other operations),\n persistence operations (which are always executed after
134
- the common operations, but before the\n notification operations) and notification
135
- operations (which will always be executed last)\n This makes it possible to create
136
- chains of stages to perform tasks that depend on each\n other, but otherwise have
137
- a low coupling"
160
+ queues\n consist of several operations that will be executed one after the other.
161
+ Each stage\n is defined by its name and the queue on which it will listen. Once
162
+ a message is received\n on the queue, it is dispatched to a worker in a seperate
163
+ thread that will pass the message\n to each operation in the operation queue.\n
164
+ \ Operation queues can have 4 different operations, 1 common operation type, and
165
+ 3 special\n purpose operations: retrieval operations (which are always executed
166
+ before all other operations),\n persistence operations (which are always executed
167
+ after the common operations, but before the\n notification operations) and notification
168
+ operations (which will always be executed last)\n This makes it possible to create
169
+ chains of stages to perform tasks that depend on each\n other, but otherwise
170
+ have a low coupling"
138
171
  email: jwkoelewijn@gmail.com
139
172
  executables: []
140
173
  extensions: []
141
174
  extra_rdoc_files:
175
+ - CHANGES.md
142
176
  - LICENSE.txt
143
177
  - README.md
144
178
  files:
145
179
  - .document
146
180
  - .rspec
147
181
  - .travis.yml
182
+ - CHANGES.md
148
183
  - Gemfile
149
184
  - LICENSE.txt
150
185
  - README.md
151
186
  - Rakefile
152
- - VERSION
153
187
  - batsir.gemspec
154
188
  - batsir.png
155
189
  - lib/batsir.rb
156
190
  - lib/batsir/acceptors/acceptor.rb
157
191
  - lib/batsir/acceptors/amqp_acceptor.rb
158
192
  - lib/batsir/amqp.rb
193
+ - lib/batsir/amqp_consumer.rb
159
194
  - lib/batsir/chain.rb
195
+ - lib/batsir/compiler/stage_worker_compiler.rb
160
196
  - lib/batsir/config.rb
197
+ - lib/batsir/dsl/conditional_notifier_declaration.rb
161
198
  - lib/batsir/dsl/dsl_mappings.rb
199
+ - lib/batsir/errors.rb
162
200
  - lib/batsir/filter.rb
163
201
  - lib/batsir/filter_queue.rb
202
+ - lib/batsir/log.rb
203
+ - lib/batsir/logger.rb
164
204
  - lib/batsir/logo.rb
165
205
  - lib/batsir/notifiers/amqp_notifier.rb
206
+ - lib/batsir/notifiers/conditional_notifier.rb
166
207
  - lib/batsir/notifiers/notifier.rb
167
208
  - lib/batsir/registry.rb
168
209
  - lib/batsir/stage.rb
169
210
  - lib/batsir/stage_worker.rb
211
+ - lib/batsir/strategies/retry_strategy.rb
212
+ - lib/batsir/strategies/strategy.rb
170
213
  - lib/batsir/transformers/field_transformer.rb
171
214
  - lib/batsir/transformers/json_input_transformer.rb
172
215
  - lib/batsir/transformers/json_output_transformer.rb
173
216
  - lib/batsir/transformers/transformer.rb
217
+ - lib/batsir/version.rb
174
218
  - spec/batsir/acceptors/acceptor_spec.rb
175
219
  - spec/batsir/acceptors/amqp_acceptor_spec.rb
220
+ - spec/batsir/acceptors/shared_examples.rb
221
+ - spec/batsir/amqp_spec.rb
176
222
  - spec/batsir/chain_spec.rb
223
+ - spec/batsir/config_spec.rb
177
224
  - spec/batsir/dsl/chain_mapping_spec.rb
225
+ - spec/batsir/dsl/conditional_notifier_mapping_spec.rb
178
226
  - spec/batsir/dsl/stage_mapping_spec.rb
179
227
  - spec/batsir/filter_queue_spec.rb
180
228
  - spec/batsir/filter_spec.rb
229
+ - spec/batsir/log_spec.rb
230
+ - spec/batsir/logger_spec.rb
181
231
  - spec/batsir/notifiers/amqp_notifier_spec.rb
232
+ - spec/batsir/notifiers/conditional_notifier_spec.rb
182
233
  - spec/batsir/notifiers/notifier_spec.rb
234
+ - spec/batsir/notifiers/shared_examples.rb
235
+ - spec/batsir/registry_spec.rb
183
236
  - spec/batsir/stage_spec.rb
184
237
  - spec/batsir/stage_worker_spec.rb
238
+ - spec/batsir/strategies/retry_strategy_spec.rb
239
+ - spec/batsir/strategies/strategy_spec.rb
185
240
  - spec/batsir/support/bunny_mocks.rb
186
241
  - spec/batsir/support/mock_filters.rb
187
242
  - spec/batsir/transformers/field_transformer_spec.rb
@@ -204,7 +259,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
204
259
  version: '0'
205
260
  segments:
206
261
  - 0
207
- hash: -1524934688976294279
262
+ hash: 3965214533793542389
208
263
  required_rubygems_version: !ruby/object:Gem::Requirement
209
264
  none: false
210
265
  requirements:
@@ -213,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
268
  version: '0'
214
269
  requirements: []
215
270
  rubyforge_project:
216
- rubygems_version: 1.8.22
271
+ rubygems_version: 1.8.25
217
272
  signing_key:
218
273
  specification_version: 3
219
274
  summary: Batsir is an execution platform for stage based operation queue execution
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.0