chasqui 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chasqui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordan Bach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-04 00:00:00.000000000 Z
11
+ date: 2015-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: redis
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: redis-namespace
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: bundler
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,10 +80,53 @@ dependencies:
52
80
  - - ">="
53
81
  - !ruby/object:Gem::Version
54
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: resque
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: sidekiq
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
55
125
  description:
56
126
  email:
57
127
  - jordan@opensolitude.com
58
- executables: []
128
+ executables:
129
+ - chasqui
59
130
  extensions: []
60
131
  extra_rdoc_files: []
61
132
  files:
@@ -63,15 +134,38 @@ files:
63
134
  - ".rspec"
64
135
  - ".travis.yml"
65
136
  - Gemfile
137
+ - Guardfile
66
138
  - LICENSE.txt
67
139
  - README.md
68
140
  - Rakefile
141
+ - bin/chasqui
69
142
  - chasqui.gemspec
70
143
  - examples/full.rb
71
144
  - lib/chasqui.rb
145
+ - lib/chasqui/broker.rb
146
+ - lib/chasqui/cli.rb
147
+ - lib/chasqui/config.rb
148
+ - lib/chasqui/multi_broker.rb
149
+ - lib/chasqui/subscriber.rb
72
150
  - lib/chasqui/version.rb
73
- - spec/chasqui_spec.rb
151
+ - lib/chasqui/workers/resque_worker.rb
152
+ - lib/chasqui/workers/sidekiq_worker.rb
153
+ - spec/integration/resque_spec.rb
154
+ - spec/integration/subscribers.rb
155
+ - spec/lib/chasqui/broker_spec.rb
156
+ - spec/lib/chasqui/cli_spec.rb
157
+ - spec/lib/chasqui/config_spec.rb
158
+ - spec/lib/chasqui/multi_broker_spec.rb
159
+ - spec/lib/chasqui/subscriber_spec.rb
160
+ - spec/lib/chasqui/workers/resque_worker_spec.rb
161
+ - spec/lib/chasqui/workers/sidekiq_worker_spec.rb
162
+ - spec/lib/chasqui_spec.rb
74
163
  - spec/spec_helper.rb
164
+ - spec/support/chasqui_spec_helpers.rb
165
+ - spec/support/fake_logger.rb
166
+ - spec/support/fake_subscriber.rb
167
+ - spec/support/sidekiq_compatibility_check.rb
168
+ - tmp/.keep
75
169
  homepage: https://github.com/jbgo/chasqui
76
170
  licenses:
77
171
  - MIT
@@ -92,11 +186,24 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
186
  version: '0'
93
187
  requirements: []
94
188
  rubyforge_project:
95
- rubygems_version: 2.2.2
189
+ rubygems_version: 2.4.5
96
190
  signing_key:
97
191
  specification_version: 4
98
192
  summary: Chasqui is a simple, lightweight, persistent implementation of the publish-subscribe
99
193
  (pub/sub) messaging pattern for service oriented architectures.
100
194
  test_files:
101
- - spec/chasqui_spec.rb
195
+ - spec/integration/resque_spec.rb
196
+ - spec/integration/subscribers.rb
197
+ - spec/lib/chasqui/broker_spec.rb
198
+ - spec/lib/chasqui/cli_spec.rb
199
+ - spec/lib/chasqui/config_spec.rb
200
+ - spec/lib/chasqui/multi_broker_spec.rb
201
+ - spec/lib/chasqui/subscriber_spec.rb
202
+ - spec/lib/chasqui/workers/resque_worker_spec.rb
203
+ - spec/lib/chasqui/workers/sidekiq_worker_spec.rb
204
+ - spec/lib/chasqui_spec.rb
102
205
  - spec/spec_helper.rb
206
+ - spec/support/chasqui_spec_helpers.rb
207
+ - spec/support/fake_logger.rb
208
+ - spec/support/fake_subscriber.rb
209
+ - spec/support/sidekiq_compatibility_check.rb
data/spec/chasqui_spec.rb DELETED
@@ -1,56 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Chasqui do
4
- it 'has a version number' do
5
- expect(Chasqui::VERSION).not_to be nil
6
- end
7
-
8
- describe '.configure' do
9
- before { reset_config }
10
-
11
- context 'defaults' do
12
- it { expect(Chasqui.namespace).to be_nil }
13
- it { expect(Chasqui.publish_queue).to eq('chasqui.inbox') }
14
- end
15
-
16
- it 'configures the namespace' do
17
- Chasqui.configure { |config| config.namespace = 'com.example.test' }
18
- expect(Chasqui.namespace).to eq('com.example.test')
19
- end
20
-
21
- it 'configures redis' do
22
- redis = FakeRedis.new
23
- Chasqui.configure { |config| config.redis = redis }
24
- expect(Chasqui.redis).to eq(redis)
25
- end
26
- end
27
-
28
- describe '.publish' do
29
- before do
30
- reset_config
31
- Chasqui.configure { |config| config.redis = FakeRedis.new }
32
- end
33
-
34
- it 'publishes an event without a namespace' do
35
- Chasqui.publish 'test.event', 1, 2, foo: 'bar'
36
- event = JSON.load Chasqui.redis.lpop('chasqui.inbox')
37
- expect(event['name']).to eq('test.event')
38
- expect(event['data']).to eq([1, 2, {'foo'=>'bar'}])
39
- end
40
-
41
- it 'publishes an event with a namespace' do
42
- Chasqui.configure { |config| config.namespace = 'my.app' }
43
- p Chasqui.namespace
44
- Chasqui.publish 'test.event', :foo
45
- event = JSON.load Chasqui.redis.lpop('chasqui.inbox')
46
- expect(event['name']).to eq('my.app.test.event')
47
- expect(event['data']).to eq(['foo'])
48
- end
49
- end
50
-
51
- private
52
-
53
- def reset_config
54
- Chasqui.instance_variable_set(:@config, nil)
55
- end
56
- end