batsir 0.3.7.1 → 0.4.0
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.
- checksums.yaml +7 -0
- data/CHANGES.md +9 -0
- data/README.md +1 -1
- data/lib/batsir/compiler/stage_worker_compiler.rb +42 -27
- data/lib/batsir/dsl/conditional_notifier_declaration.rb +7 -7
- data/lib/batsir/version.rb +3 -3
- metadata +81 -151
- data/.document +0 -5
- data/.rspec +0 -3
- data/.travis.yml +0 -18
- data/Gemfile +0 -19
- data/Rakefile +0 -62
- data/batsir.gemspec +0 -132
- data/batsir.png +0 -0
- data/spec/batsir/acceptors/acceptor_spec.rb +0 -65
- data/spec/batsir/acceptors/amqp_acceptor_spec.rb +0 -158
- data/spec/batsir/acceptors/shared_examples.rb +0 -102
- data/spec/batsir/amqp_spec.rb +0 -58
- data/spec/batsir/chain_spec.rb +0 -31
- data/spec/batsir/config_spec.rb +0 -97
- data/spec/batsir/dsl/chain_mapping_spec.rb +0 -116
- data/spec/batsir/dsl/conditional_notifier_mapping_spec.rb +0 -80
- data/spec/batsir/dsl/stage_mapping_spec.rb +0 -453
- data/spec/batsir/filter_queue_spec.rb +0 -68
- data/spec/batsir/filter_spec.rb +0 -11
- data/spec/batsir/log_spec.rb +0 -10
- data/spec/batsir/logger_spec.rb +0 -46
- data/spec/batsir/notifiers/amqp_notifier_spec.rb +0 -138
- data/spec/batsir/notifiers/conditional_notifier_spec.rb +0 -62
- data/spec/batsir/notifiers/notifier_spec.rb +0 -11
- data/spec/batsir/notifiers/shared_examples.rb +0 -100
- data/spec/batsir/registry_spec.rb +0 -48
- data/spec/batsir/stage_spec.rb +0 -684
- data/spec/batsir/stage_worker_spec.rb +0 -128
- data/spec/batsir/strategies/retry_strategy_spec.rb +0 -58
- data/spec/batsir/strategies/strategy_spec.rb +0 -28
- data/spec/batsir/support/bunny_mocks.rb +0 -135
- data/spec/batsir/support/mock_filters.rb +0 -43
- data/spec/batsir/transformers/field_transformer_spec.rb +0 -73
- data/spec/batsir/transformers/json_input_transformer_spec.rb +0 -27
- data/spec/batsir/transformers/json_output_transformer_spec.rb +0 -18
- data/spec/batsir/transformers/transformer_spec.rb +0 -36
- data/spec/spec_helper.rb +0 -26
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: aac6353a29dcec93634b97450bf731b01a6a081c
|
4
|
+
data.tar.gz: a20726b6fffaf409f04fc0882ecd74538e0e3ddb
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4800a37b000ee355229ebcf4c898e53fda8930edcf4fde588e58d51f593e94f9d6eb54787f19a770593c187effe353dab39dedcf60163ddc099cccbc0afd96a7
|
7
|
+
data.tar.gz: f26e3943c0819bccaa16ce68e5397bd34b845ed6ca62eb146d992dbf04cfca6fa7a61d22aae8b31caf7e0ce7a39addad35bcb98d114c611c9ea06f99f229f4c2
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
0.4.0
|
2
|
+
-----------
|
3
|
+
- Removes support for MRI 1.9.3
|
4
|
+
- Worker class compilation has been refactored
|
5
|
+
- Limits Celluloid < 0.16.0
|
6
|
+
Higher versions may prevent Sidekiq from cleanly shutting down.
|
7
|
+
- Removes bunny and sidekiq constraints
|
8
|
+
|
9
|
+
|
1
10
|
0.3.7
|
2
11
|
-----------
|
3
12
|
- AMQP queues are now durable by default.
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
[](https://codeclimate.com/github/jwkoelewijn/batsir)
|
3
3
|
[](http://travis-ci.org/jwkoelewijn/batsir)
|
4
4
|
|
5
|
-

|
6
6
|
|
7
7
|
# Batsir
|
8
8
|
Batsir is an execution platform for stage based filter queue execution.
|
@@ -9,6 +9,30 @@ module Batsir
|
|
9
9
|
|
10
10
|
def compile
|
11
11
|
klazz_name = "#{stage.name.capitalize.gsub(' ','')}Worker"
|
12
|
+
compile_worker_class(klazz_name)
|
13
|
+
end
|
14
|
+
|
15
|
+
def compile_worker_class(klazz_name)
|
16
|
+
worker_class(klazz_name) do |code|
|
17
|
+
stage.filter_declarations.each do |filter_declaration|
|
18
|
+
add_filter(filter_declaration, code)
|
19
|
+
end
|
20
|
+
|
21
|
+
stage.conditional_notifiers.each do |conditional_notifier_declaration|
|
22
|
+
conditional_notifier_declaration.compile(code, self)
|
23
|
+
end
|
24
|
+
|
25
|
+
stage.notifiers.each do |notifier, options_set|
|
26
|
+
options_set.each do |options|
|
27
|
+
new_notifier(notifier, options, code)
|
28
|
+
add_transformers_to_notifier(code)
|
29
|
+
add_notifier(code)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def worker_class(klazz_name, &block)
|
12
36
|
code = <<-EOF
|
13
37
|
class #{klazz_name}
|
14
38
|
def self.stage_name
|
@@ -27,27 +51,7 @@ module Batsir
|
|
27
51
|
@filter_queue = Batsir::FilterQueue.new
|
28
52
|
EOF
|
29
53
|
|
30
|
-
|
31
|
-
code << <<-EOF
|
32
|
-
@filter_queue.add #{filter_declaration.filter.to_s}.new(#{filter_declaration.options.to_s})
|
33
|
-
EOF
|
34
|
-
end
|
35
|
-
|
36
|
-
stage.conditional_notifiers.each do |conditional_notifier_declaration|
|
37
|
-
conditional_notifier_declaration.compile(code, self)
|
38
|
-
end
|
39
|
-
|
40
|
-
stage.notifiers.each do |notifier, options_set|
|
41
|
-
options_set.each do |options|
|
42
|
-
code << <<-EOF
|
43
|
-
notifier = #{notifier.to_s}.new(#{options.to_s})
|
44
|
-
EOF
|
45
|
-
|
46
|
-
self.add_transformers_to_notifier("notifier", code)
|
47
|
-
|
48
|
-
self.add_notifier("notifier", code)
|
49
|
-
end
|
50
|
-
end
|
54
|
+
yield code
|
51
55
|
|
52
56
|
code << <<-EOF
|
53
57
|
end
|
@@ -59,26 +63,37 @@ module Batsir
|
|
59
63
|
#{klazz_name}.sidekiq_options(:queue => Batsir::Config.sidekiq_queue)
|
60
64
|
#{klazz_name}
|
61
65
|
EOF
|
62
|
-
code
|
63
66
|
end
|
64
67
|
|
65
|
-
def
|
68
|
+
def add_filter(filter_declaration, code)
|
69
|
+
code << <<-EOF
|
70
|
+
@filter_queue.add #{filter_declaration.filter.to_s}.new(#{filter_declaration.options.to_s})
|
71
|
+
EOF
|
72
|
+
end
|
73
|
+
|
74
|
+
def new_notifier(notifier, options, code)
|
75
|
+
code << <<-EOF
|
76
|
+
notifier = #{notifier.to_s}.new(#{options.to_s})
|
77
|
+
EOF
|
78
|
+
end
|
79
|
+
|
80
|
+
def add_transformers_to_notifier(code)
|
66
81
|
if stage.notifier_transformers.any?
|
67
82
|
stage.notifier_transformers.each do |transformer_declaration|
|
68
83
|
code << <<-EOF
|
69
|
-
|
84
|
+
notifier.add_transformer #{transformer_declaration.transformer}.new(#{transformer_declaration.options.to_s})
|
70
85
|
EOF
|
71
86
|
end
|
72
87
|
else
|
73
88
|
code << <<-EOF
|
74
|
-
|
89
|
+
notifier.add_transformer Batsir::Transformers::JSONOutputTransformer.new
|
75
90
|
EOF
|
76
91
|
end
|
77
92
|
end
|
78
93
|
|
79
|
-
def add_notifier(
|
94
|
+
def add_notifier(code)
|
80
95
|
code << <<-EOF
|
81
|
-
@filter_queue.add_notifier
|
96
|
+
@filter_queue.add_notifier notifier
|
82
97
|
EOF
|
83
98
|
end
|
84
99
|
end
|
@@ -13,18 +13,18 @@ module Batsir
|
|
13
13
|
@notifier_declarations << NotifierConditionDeclaration.new(condition, notifier_class, options)
|
14
14
|
end
|
15
15
|
|
16
|
-
def compile(
|
17
|
-
|
18
|
-
|
16
|
+
def compile(code, stage_worker)
|
17
|
+
code << <<-EOF
|
18
|
+
notifier = Batsir::Notifiers::ConditionalNotifier.new
|
19
19
|
EOF
|
20
20
|
notifier_declarations.each do |notifier_declaration|
|
21
|
-
|
21
|
+
code << <<-EOF
|
22
22
|
condition = ->(message){#{notifier_declaration.condition}}
|
23
|
-
|
23
|
+
notifier.add_notifier condition, #{notifier_declaration.notifier}.new(#{notifier_declaration.options.to_s})
|
24
24
|
EOF
|
25
25
|
end
|
26
|
-
stage_worker.add_transformers_to_notifier(
|
27
|
-
stage_worker.add_notifier(
|
26
|
+
stage_worker.add_transformers_to_notifier(code)
|
27
|
+
stage_worker.add_notifier(code)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
data/lib/batsir/version.rb
CHANGED
metadata
CHANGED
@@ -1,173 +1,143 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: batsir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- J.W. Koelewijn
|
9
8
|
- Bram de Vries
|
10
|
-
autorequire:
|
9
|
+
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-10-06 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
15
|
+
name: blockenspiel
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '>='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 0.4.3
|
17
21
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
22
|
requirements:
|
20
|
-
- -
|
23
|
+
- - '>='
|
21
24
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
23
|
-
type: :runtime
|
25
|
+
version: 0.4.3
|
24
26
|
prerelease: false
|
27
|
+
type: :runtime
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: celluloid
|
25
30
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
31
|
requirements:
|
28
|
-
- -
|
32
|
+
- - <
|
29
33
|
- !ruby/object:Gem::Version
|
30
|
-
version:
|
31
|
-
- !ruby/object:Gem::Dependency
|
32
|
-
name: jeweler
|
34
|
+
version: 0.16.0
|
33
35
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
36
|
requirements:
|
36
|
-
- -
|
37
|
+
- - <
|
37
38
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
39
|
-
type: :runtime
|
39
|
+
version: 0.16.0
|
40
40
|
prerelease: false
|
41
|
+
type: :runtime
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: sidekiq
|
41
44
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
45
|
requirements:
|
44
|
-
- -
|
46
|
+
- - '>='
|
45
47
|
- !ruby/object:Gem::Version
|
46
48
|
version: '0'
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: rdoc
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
50
|
requirements:
|
52
|
-
- -
|
51
|
+
- - '>='
|
53
52
|
- !ruby/object:Gem::Version
|
54
53
|
version: '0'
|
55
|
-
type: :runtime
|
56
54
|
prerelease: false
|
55
|
+
type: :runtime
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: bunny
|
57
58
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - '>='
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: blockenspiel
|
65
63
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
64
|
requirements:
|
68
|
-
- -
|
65
|
+
- - '>='
|
69
66
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0
|
71
|
-
type: :runtime
|
67
|
+
version: '0'
|
72
68
|
prerelease: false
|
69
|
+
type: :runtime
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: json
|
73
72
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
73
|
requirements:
|
76
|
-
- -
|
74
|
+
- - '>='
|
77
75
|
- !ruby/object:Gem::Version
|
78
|
-
version: 0
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
|
-
name: celluloid
|
76
|
+
version: '0'
|
81
77
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
78
|
requirements:
|
84
|
-
- -
|
79
|
+
- - '>='
|
85
80
|
- !ruby/object:Gem::Version
|
86
|
-
version: 0
|
87
|
-
type: :runtime
|
81
|
+
version: '0'
|
88
82
|
prerelease: false
|
83
|
+
type: :runtime
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: log4r
|
89
86
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
87
|
requirements:
|
92
|
-
- -
|
88
|
+
- - '>='
|
93
89
|
- !ruby/object:Gem::Version
|
94
|
-
version: 0
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: sidekiq
|
90
|
+
version: '0'
|
97
91
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
92
|
requirements:
|
100
|
-
- -
|
93
|
+
- - '>='
|
101
94
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
103
|
-
type: :runtime
|
95
|
+
version: '0'
|
104
96
|
prerelease: false
|
97
|
+
type: :runtime
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: bundler
|
105
100
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
101
|
requirements:
|
108
|
-
- -
|
102
|
+
- - ~>
|
109
103
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: bunny
|
104
|
+
version: '1.7'
|
113
105
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
106
|
requirements:
|
116
107
|
- - ~>
|
117
108
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
119
|
-
type: :runtime
|
109
|
+
version: '1.7'
|
120
110
|
prerelease: false
|
111
|
+
type: :development
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: rake
|
121
114
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
115
|
requirements:
|
124
116
|
- - ~>
|
125
117
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
127
|
-
- !ruby/object:Gem::Dependency
|
128
|
-
name: json
|
118
|
+
version: '10.0'
|
129
119
|
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
120
|
requirements:
|
132
|
-
- -
|
121
|
+
- - ~>
|
133
122
|
- !ruby/object:Gem::Version
|
134
|
-
version: '0'
|
135
|
-
type: :runtime
|
123
|
+
version: '10.0'
|
136
124
|
prerelease: false
|
125
|
+
type: :development
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: rspec
|
137
128
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
129
|
requirements:
|
140
|
-
- -
|
130
|
+
- - '>='
|
141
131
|
- !ruby/object:Gem::Version
|
142
132
|
version: '0'
|
143
|
-
- !ruby/object:Gem::Dependency
|
144
|
-
name: log4r
|
145
133
|
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
134
|
requirements:
|
148
|
-
- -
|
135
|
+
- - '>='
|
149
136
|
- !ruby/object:Gem::Version
|
150
137
|
version: '0'
|
151
|
-
type: :runtime
|
152
138
|
prerelease: false
|
153
|
-
|
154
|
-
|
155
|
-
requirements:
|
156
|
-
- - ! '>='
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '0'
|
159
|
-
description: ! "Batsir uses so called stages to define operation queues. These operation
|
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"
|
139
|
+
type: :development
|
140
|
+
description:
|
171
141
|
email: jwkoelewijn@gmail.com
|
172
142
|
executables: []
|
173
143
|
extensions: []
|
@@ -176,100 +146,60 @@ extra_rdoc_files:
|
|
176
146
|
- LICENSE.txt
|
177
147
|
- README.md
|
178
148
|
files:
|
179
|
-
- .
|
180
|
-
- .rspec
|
181
|
-
- .travis.yml
|
149
|
+
- README.md
|
182
150
|
- CHANGES.md
|
183
|
-
- Gemfile
|
184
151
|
- LICENSE.txt
|
185
|
-
- README.md
|
186
|
-
- Rakefile
|
187
|
-
- batsir.gemspec
|
188
|
-
- batsir.png
|
189
152
|
- lib/batsir.rb
|
190
|
-
- lib/batsir/acceptors/acceptor.rb
|
191
|
-
- lib/batsir/acceptors/amqp_acceptor.rb
|
192
153
|
- lib/batsir/amqp.rb
|
193
154
|
- lib/batsir/amqp_consumer.rb
|
194
155
|
- lib/batsir/chain.rb
|
195
|
-
- lib/batsir/compiler/stage_worker_compiler.rb
|
196
156
|
- lib/batsir/config.rb
|
197
|
-
- lib/batsir/dsl/conditional_notifier_declaration.rb
|
198
|
-
- lib/batsir/dsl/dsl_mappings.rb
|
199
157
|
- lib/batsir/errors.rb
|
200
158
|
- lib/batsir/filter.rb
|
201
159
|
- lib/batsir/filter_queue.rb
|
202
160
|
- lib/batsir/log.rb
|
203
161
|
- lib/batsir/logger.rb
|
204
162
|
- lib/batsir/logo.rb
|
205
|
-
- lib/batsir/notifiers/amqp_notifier.rb
|
206
|
-
- lib/batsir/notifiers/conditional_notifier.rb
|
207
|
-
- lib/batsir/notifiers/notifier.rb
|
208
163
|
- lib/batsir/registry.rb
|
209
164
|
- lib/batsir/stage.rb
|
210
165
|
- lib/batsir/stage_worker.rb
|
166
|
+
- lib/batsir/version.rb
|
167
|
+
- lib/batsir/acceptors/acceptor.rb
|
168
|
+
- lib/batsir/acceptors/amqp_acceptor.rb
|
169
|
+
- lib/batsir/compiler/stage_worker_compiler.rb
|
170
|
+
- lib/batsir/dsl/conditional_notifier_declaration.rb
|
171
|
+
- lib/batsir/dsl/dsl_mappings.rb
|
172
|
+
- lib/batsir/notifiers/amqp_notifier.rb
|
173
|
+
- lib/batsir/notifiers/conditional_notifier.rb
|
174
|
+
- lib/batsir/notifiers/notifier.rb
|
211
175
|
- lib/batsir/strategies/retry_strategy.rb
|
212
176
|
- lib/batsir/strategies/strategy.rb
|
213
177
|
- lib/batsir/transformers/field_transformer.rb
|
214
178
|
- lib/batsir/transformers/json_input_transformer.rb
|
215
179
|
- lib/batsir/transformers/json_output_transformer.rb
|
216
180
|
- lib/batsir/transformers/transformer.rb
|
217
|
-
- lib/batsir/version.rb
|
218
|
-
- spec/batsir/acceptors/acceptor_spec.rb
|
219
|
-
- spec/batsir/acceptors/amqp_acceptor_spec.rb
|
220
|
-
- spec/batsir/acceptors/shared_examples.rb
|
221
|
-
- spec/batsir/amqp_spec.rb
|
222
|
-
- spec/batsir/chain_spec.rb
|
223
|
-
- spec/batsir/config_spec.rb
|
224
|
-
- spec/batsir/dsl/chain_mapping_spec.rb
|
225
|
-
- spec/batsir/dsl/conditional_notifier_mapping_spec.rb
|
226
|
-
- spec/batsir/dsl/stage_mapping_spec.rb
|
227
|
-
- spec/batsir/filter_queue_spec.rb
|
228
|
-
- spec/batsir/filter_spec.rb
|
229
|
-
- spec/batsir/log_spec.rb
|
230
|
-
- spec/batsir/logger_spec.rb
|
231
|
-
- spec/batsir/notifiers/amqp_notifier_spec.rb
|
232
|
-
- spec/batsir/notifiers/conditional_notifier_spec.rb
|
233
|
-
- spec/batsir/notifiers/notifier_spec.rb
|
234
|
-
- spec/batsir/notifiers/shared_examples.rb
|
235
|
-
- spec/batsir/registry_spec.rb
|
236
|
-
- spec/batsir/stage_spec.rb
|
237
|
-
- spec/batsir/stage_worker_spec.rb
|
238
|
-
- spec/batsir/strategies/retry_strategy_spec.rb
|
239
|
-
- spec/batsir/strategies/strategy_spec.rb
|
240
|
-
- spec/batsir/support/bunny_mocks.rb
|
241
|
-
- spec/batsir/support/mock_filters.rb
|
242
|
-
- spec/batsir/transformers/field_transformer_spec.rb
|
243
|
-
- spec/batsir/transformers/json_input_transformer_spec.rb
|
244
|
-
- spec/batsir/transformers/json_output_transformer_spec.rb
|
245
|
-
- spec/batsir/transformers/transformer_spec.rb
|
246
|
-
- spec/spec_helper.rb
|
247
181
|
homepage: http://github.com/jwkoelewijn/batsir
|
248
182
|
licenses:
|
249
183
|
- MIT
|
250
|
-
|
184
|
+
metadata: {}
|
185
|
+
post_install_message:
|
251
186
|
rdoc_options: []
|
252
187
|
require_paths:
|
253
188
|
- lib
|
254
189
|
required_ruby_version: !ruby/object:Gem::Requirement
|
255
|
-
none: false
|
256
190
|
requirements:
|
257
|
-
- -
|
191
|
+
- - '>='
|
258
192
|
- !ruby/object:Gem::Version
|
259
193
|
version: '0'
|
260
|
-
segments:
|
261
|
-
- 0
|
262
|
-
hash: -4266903318134081756
|
263
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
264
|
-
none: false
|
265
195
|
requirements:
|
266
|
-
- -
|
196
|
+
- - '>='
|
267
197
|
- !ruby/object:Gem::Version
|
268
198
|
version: '0'
|
269
199
|
requirements: []
|
270
|
-
rubyforge_project:
|
271
|
-
rubygems_version: 1.
|
272
|
-
signing_key:
|
273
|
-
specification_version:
|
274
|
-
summary: Batsir is
|
200
|
+
rubyforge_project:
|
201
|
+
rubygems_version: 2.1.9
|
202
|
+
signing_key:
|
203
|
+
specification_version: 4
|
204
|
+
summary: Batsir is a platform for stage based operation queue execution
|
275
205
|
test_files: []
|
data/.document
DELETED
data/.rspec
DELETED
data/.travis.yml
DELETED
data/Gemfile
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
|
3
|
-
gem "bundler", "> 1.0.0"
|
4
|
-
gem "jeweler"
|
5
|
-
gem "rdoc"
|
6
|
-
gem "blockenspiel", ">= 0.4.3"
|
7
|
-
gem "celluloid", "~> 0.14.1"
|
8
|
-
gem "sidekiq", ">= 2.5.4"
|
9
|
-
gem "bunny", "~> 0.10.7"
|
10
|
-
gem "json"
|
11
|
-
gem "log4r"
|
12
|
-
#gem "hot_bunnies", :git => "https://github.com/ruby-amqp/hot_bunnies.git"
|
13
|
-
|
14
|
-
group :development do
|
15
|
-
end
|
16
|
-
|
17
|
-
group :test do
|
18
|
-
gem "rspec"
|
19
|
-
end
|
data/Rakefile
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'bundler'
|
5
|
-
begin
|
6
|
-
Bundler.setup
|
7
|
-
rescue Bundler::BundlerError => e
|
8
|
-
$stderr.puts e.message
|
9
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
-
exit e.status_code
|
11
|
-
end
|
12
|
-
|
13
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
|
14
|
-
|
15
|
-
require 'rake'
|
16
|
-
require 'jeweler'
|
17
|
-
require 'batsir/version'
|
18
|
-
|
19
|
-
version = Batsir::VERSION
|
20
|
-
|
21
|
-
Jeweler::Tasks.new do |gem|
|
22
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
23
|
-
gem.name = "batsir"
|
24
|
-
gem.version = version
|
25
|
-
gem.homepage = "http://github.com/jwkoelewijn/batsir"
|
26
|
-
gem.license = "MIT"
|
27
|
-
gem.summary = %Q{Batsir is an execution platform for stage based operation queue execution}
|
28
|
-
gem.description = %Q{Batsir uses so called stages to define operation queues. These operation queues
|
29
|
-
consist of several operations that will be executed one after the other. Each stage
|
30
|
-
is defined by its name and the queue on which it will listen. Once a message is received
|
31
|
-
on the queue, it is dispatched to a worker in a seperate thread that will pass the message
|
32
|
-
to each operation in the operation queue.
|
33
|
-
Operation queues can have 4 different operations, 1 common operation type, and 3 special
|
34
|
-
purpose operations: retrieval operations (which are always executed before all other operations),
|
35
|
-
persistence operations (which are always executed after the common operations, but before the
|
36
|
-
notification operations) and notification operations (which will always be executed last)
|
37
|
-
This makes it possible to create chains of stages to perform tasks that depend on each
|
38
|
-
other, but otherwise have a low coupling}
|
39
|
-
gem.email = "jwkoelewijn@gmail.com"
|
40
|
-
gem.authors = ["J.W. Koelewijn", "Bram de Vries"]
|
41
|
-
gem.extra_rdoc_files << "CHANGES.md"
|
42
|
-
# dependencies defined in Gemfile
|
43
|
-
end
|
44
|
-
Jeweler::RubygemsDotOrgTasks.new
|
45
|
-
|
46
|
-
require 'rspec/core/rake_task'
|
47
|
-
|
48
|
-
desc "Run specs"
|
49
|
-
RSpec::Core::RakeTask.new do |t|
|
50
|
-
t.pattern = 'spec/**/*_spec.rb'
|
51
|
-
end
|
52
|
-
|
53
|
-
task :default => :spec
|
54
|
-
|
55
|
-
require 'rdoc/task'
|
56
|
-
Rake::RDocTask.new do |rdoc|
|
57
|
-
rdoc.rdoc_dir = 'rdoc'
|
58
|
-
rdoc.title = "batsir #{version}"
|
59
|
-
rdoc.rdoc_files.include('README*')
|
60
|
-
rdoc.rdoc_files.include('CHANGES*')
|
61
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
62
|
-
end
|