cotton-tail 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e28c658ff57af1125016e3d0f724c394e0f1fccd7d7a0469cd134e3c9d27c25
4
- data.tar.gz: 2f3ab5875ea30192dc19db744e4bd2475bc2a2f097aed1e7e7bac95ff5be3b43
3
+ metadata.gz: 59a0b8fe6472fc78f13f5347a249a85118ec1df3e1274b13e31a32f79aafd290
4
+ data.tar.gz: 7db834f63293c4bb811dbff278a2dec964e1b55317476e2b2819852bafc9217b
5
5
  SHA512:
6
- metadata.gz: 3f69be6c25098a9887163647752484e867f70a6ee215fa3288e6424f84379436e7f2d6b2c8eedf40580f41dc46a49378c623a70c19456fd2921b413bf64e9d04
7
- data.tar.gz: cb1a4b9742e75461a208731894b009ab99cac03912890f158130d0c7820410f62979c71139c5e3a3441d8dd1d2e2147384ab0076323b43d725ac8c4b4948e0e9
6
+ metadata.gz: 44fe3a5e0a10a005dc7ded35338770324d1f487cc411d61975023b05a30bdbbeae5a6c759195cf577c5d055b2a5d395b2067088aea4abdc120d25980bab7be94
7
+ data.tar.gz: 5fca20076db46c78e1c49b40da3725e8f5863d3c1165845699bb1f6167cd1fd0c86658ce567e26fcf1010868cc5c9054a71c90019a4a5927e783440cd3c2e7ff
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -44,7 +44,7 @@ jobs:
44
44
  name: unit tests
45
45
  command: |
46
46
  mkdir /tmp/test-results
47
- TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
47
+ TEST_FILES="$(circleci tests glob "spec/unit/**/*_spec.rb" | circleci tests split --split-by=timings)"
48
48
 
49
49
  bundle exec rspec --format progress \
50
50
  --format RspecJunitFormatter \
@@ -55,7 +55,7 @@ jobs:
55
55
  - run:
56
56
  name: integration tests
57
57
  command: |
58
- TEST_FILES="$(circleci tests glob "integration/**/*_spec.rb" | circleci tests split --split-by=timings)"
58
+ TEST_FILES="$(circleci tests glob "spec/integration/**/*_spec.rb" | circleci tests split --split-by=timings)"
59
59
 
60
60
  bundle exec rspec --format progress \
61
61
  --format RspecJunitFormatter \
data/.rspec CHANGED
@@ -1,5 +1,4 @@
1
1
  --format documentation
2
2
  --color
3
3
  --require spec_helper
4
- --require integration_helper
5
- -I integration
4
+ --require integration/integration_helper
@@ -1 +1 @@
1
- 2.5.1@cotton
1
+ 2.6.0@cotton
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cotton-tail (0.6.1)
4
+ cotton-tail (0.7.0)
5
5
  bunny (~> 2.12)
6
6
  ibsciss-middleware (~> 0.4.2)
7
7
 
@@ -14,6 +14,9 @@ GEM
14
14
  benchmark-trend (0.2.0)
15
15
  bunny (2.13.0)
16
16
  amq-protocol (~> 2.3, >= 2.3.0)
17
+ debase (0.2.3.beta5)
18
+ debase-ruby_core_source (>= 0.10.2)
19
+ debase-ruby_core_source (0.10.4)
17
20
  diff-lcs (1.3)
18
21
  faraday (0.13.1)
19
22
  multipart-post (>= 1.2, < 3)
@@ -65,6 +68,8 @@ GEM
65
68
  rainbow (>= 2.2.2, < 4.0)
66
69
  ruby-progressbar (~> 1.7)
67
70
  unicode-display_width (~> 1.4.0)
71
+ ruby-debug-ide (0.7.0.beta7)
72
+ rake (>= 0.8.1)
68
73
  ruby-progressbar (1.10.0)
69
74
  unicode-display_width (1.4.1)
70
75
 
@@ -74,6 +79,7 @@ PLATFORMS
74
79
  DEPENDENCIES
75
80
  bundler (~> 1.16)
76
81
  cotton-tail!
82
+ debase (= 0.2.3.beta5)
77
83
  rabbitmq_http_api_client (~> 1.9)
78
84
  rake (~> 12.0)
79
85
  rspec (~> 3.0)
@@ -81,6 +87,7 @@ DEPENDENCIES
81
87
  rspec-its (~> 1.2)
82
88
  rspec_junit_formatter
83
89
  rubocop (~> 0.60)
90
+ ruby-debug-ide (= 0.7.0.beta7)
84
91
 
85
92
  BUNDLED WITH
86
- 1.17.1
93
+ 1.17.3
@@ -32,6 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency 'ibsciss-middleware', '~> 0.4.2'
33
33
 
34
34
  spec.add_development_dependency 'bundler', '~> 1.16'
35
+ spec.add_development_dependency 'debase', '0.2.3.beta5'
35
36
  spec.add_development_dependency 'rabbitmq_http_api_client', '~> 1.9'
36
37
  spec.add_development_dependency 'rake', '~> 12.0'
37
38
  spec.add_development_dependency 'rspec', '~> 3.0'
@@ -39,4 +40,5 @@ Gem::Specification.new do |spec|
39
40
  spec.add_development_dependency 'rspec-its', '~> 1.2'
40
41
  spec.add_development_dependency 'rspec_junit_formatter'
41
42
  spec.add_development_dependency 'rubocop', '~> 0.60'
43
+ spec.add_development_dependency 'ruby-debug-ide', '0.7.0.beta7'
42
44
  end
@@ -19,11 +19,6 @@ module CottonTail
19
19
  routes.queues
20
20
  end
21
21
 
22
- # Get a single message queue
23
- def queue(name)
24
- queues[name]
25
- end
26
-
27
22
  # Start the app, process all pending messages, and then shutdown
28
23
  def run
29
24
  supervisors.map(&:run).each(&:join)
@@ -43,7 +38,7 @@ module CottonTail
43
38
  private
44
39
 
45
40
  def supervisors
46
- @supervisors ||= queues.map do |_name, queue|
41
+ @supervisors ||= queues.map do |queue|
47
42
  Queue::Supervisor.new(queue, app: self)
48
43
  end
49
44
  end
@@ -10,7 +10,7 @@ module CottonTail
10
10
  def initialize(queue_strategy:, connection:)
11
11
  @queue_strategy = queue_strategy
12
12
  @connection = connection
13
- @queues = {}
13
+ @queues = []
14
14
  end
15
15
 
16
16
  def draw(&block)
@@ -18,9 +18,9 @@ module CottonTail
18
18
  end
19
19
 
20
20
  # Define a new queue
21
- def queue(name, **opts, &block)
21
+ def queue(name = '', **opts, &block)
22
22
  @queue_strategy.call(name: name, connection: @connection, **opts).tap do |queue_instance|
23
- @queues[name] = queue_instance
23
+ @queues << queue_instance
24
24
  queue_dsl = Queue.new(name, queue_instance, self)
25
25
  queue_dsl.instance_eval(&block) if block_given?
26
26
  end
@@ -8,8 +8,6 @@ module CottonTail
8
8
  # A wrapper around a ::Bunny::Queue that makes it interchangeable with a
9
9
  # standard Ruby Queue
10
10
  class Bunny < SimpleDelegator
11
- extend Forwardable
12
-
13
11
  def self.call(**opts)
14
12
  new(**opts)
15
13
  end
@@ -17,9 +15,8 @@ module CottonTail
17
15
  def initialize(name:, connection:, manual_ack: false, **opts)
18
16
  super ::Queue.new
19
17
 
20
- @name = name
21
- @source_opts = opts
22
18
  @connection = connection
19
+ @source = build_source(name, opts)
23
20
 
24
21
  watch_source manual_ack
25
22
  end
@@ -40,14 +37,20 @@ module CottonTail
40
37
 
41
38
  private
42
39
 
43
- attr_reader :connection
40
+ attr_reader :connection, :source
41
+
42
+ def nil_opts(opts)
43
+ { exclusive: true }.merge(opts)
44
+ end
44
45
 
45
46
  def watch_source(manual_ack)
46
47
  source.subscribe(manual_ack: manual_ack) { |*args| self << args }
47
48
  end
48
49
 
49
- def source
50
- @source ||= channel.queue(@name, **@source_opts)
50
+ def build_source(name, opts)
51
+ return channel.queue('', **nil_opts(opts)) if name.nil?
52
+
53
+ channel.queue(name, **opts)
51
54
  end
52
55
 
53
56
  def channel
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CottonTail
4
- VERSION = '0.6.1'
4
+ VERSION = '0.7.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cotton-tail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Brennan
@@ -30,7 +30,7 @@ cert_chain:
30
30
  fXe/xr/Sc+2wCjHPVE2J+auN5hk3KCp1I4s2fKqyLIwyhTEF3shuYfCpC8rt/YdN
31
31
  cy9/lg5LCI3OvakzxL4Xt1Sq4h/xJZ06ydTVJ1wxfk6BXHrg
32
32
  -----END CERTIFICATE-----
33
- date: 2019-01-16 00:00:00.000000000 Z
33
+ date: 2019-02-06 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: bunny
@@ -74,6 +74,20 @@ dependencies:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
76
  version: '1.16'
77
+ - !ruby/object:Gem::Dependency
78
+ name: debase
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - '='
82
+ - !ruby/object:Gem::Version
83
+ version: 0.2.3.beta5
84
+ type: :development
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - '='
89
+ - !ruby/object:Gem::Version
90
+ version: 0.2.3.beta5
77
91
  - !ruby/object:Gem::Dependency
78
92
  name: rabbitmq_http_api_client
79
93
  requirement: !ruby/object:Gem::Requirement
@@ -172,6 +186,20 @@ dependencies:
172
186
  - - "~>"
173
187
  - !ruby/object:Gem::Version
174
188
  version: '0.60'
189
+ - !ruby/object:Gem::Dependency
190
+ name: ruby-debug-ide
191
+ requirement: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - '='
194
+ - !ruby/object:Gem::Version
195
+ version: 0.7.0.beta7
196
+ type: :development
197
+ prerelease: false
198
+ version_requirements: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - '='
201
+ - !ruby/object:Gem::Version
202
+ version: 0.7.0.beta7
175
203
  description: |-
176
204
  Simply and easily add AMQP messaging capabilities to
177
205
  your services
@@ -244,8 +272,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
272
  - !ruby/object:Gem::Version
245
273
  version: '0'
246
274
  requirements: []
247
- rubyforge_project:
248
- rubygems_version: 2.7.6
275
+ rubygems_version: 3.0.2
249
276
  signing_key:
250
277
  specification_version: 4
251
278
  summary: A simple multi-threaded amqp server
metadata.gz.sig CHANGED
Binary file