slnky 0.8.3 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-gemset +1 -0
  3. data/.ruby-version +1 -0
  4. data/bin/slnky +1 -0
  5. data/lib/slnky/cli/command.rb +78 -0
  6. data/lib/slnky/cli/generate.rb +3 -1
  7. data/lib/slnky/cli/service.rb +30 -0
  8. data/lib/slnky/cli.rb +4 -1
  9. data/lib/slnky/command/request.rb +7 -0
  10. data/lib/slnky/command/response.rb +43 -0
  11. data/lib/slnky/command.rb +100 -0
  12. data/lib/slnky/config.rb +69 -0
  13. data/lib/slnky/data.rb +14 -3
  14. data/lib/slnky/generator.rb +44 -18
  15. data/lib/slnky/log.rb +117 -0
  16. data/lib/slnky/service/subscriber.rb +57 -0
  17. data/lib/slnky/service/timer.rb +45 -0
  18. data/lib/slnky/service.rb +58 -96
  19. data/lib/slnky/system.rb +19 -0
  20. data/lib/slnky/template/service/.ruby-version +1 -0
  21. data/lib/slnky/template/service/config/deploy.rb.erb +3 -6
  22. data/lib/slnky/template/service/lib/slnky/NAME/client.rb.erb +11 -0
  23. data/lib/slnky/template/service/lib/slnky/NAME/command.rb.erb +15 -0
  24. data/lib/slnky/template/service/lib/slnky/NAME/mock.rb.erb +11 -0
  25. data/lib/slnky/template/service/lib/slnky/{service/NAME.rb.erb → NAME/service.rb.erb} +7 -4
  26. data/lib/slnky/template/service/lib/slnky/NAME.rb.erb +6 -0
  27. data/lib/slnky/template/service/service-slnky-NAME.erb +2 -2
  28. data/lib/slnky/template/service/spec/slnky/NAME/command_spec.rb.erb +17 -0
  29. data/lib/slnky/template/service/spec/slnky/NAME/service_spec.rb.erb +14 -0
  30. data/lib/slnky/template/service/spec/spec_helper.rb.erb +15 -4
  31. data/lib/slnky/template/service/test/commands/echo.json.erb +11 -0
  32. data/lib/slnky/template/service/test/config.yaml.erb +1 -1
  33. data/lib/slnky/transport.rb +98 -0
  34. data/lib/slnky/version.rb +1 -1
  35. data/lib/slnky.rb +15 -14
  36. data/slnky.gemspec +2 -0
  37. metadata +52 -8
  38. data/lib/slnky/service/exchanges.rb +0 -33
  39. data/lib/slnky/service/periodics.rb +0 -19
  40. data/lib/slnky/service/queues.rb +0 -27
  41. data/lib/slnky/service/subscriptions.rb +0 -27
  42. data/lib/slnky/template/service/spec/slnky/service/NAME_spec.rb.erb +0 -10
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slnky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shawn Catanzarite
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-28 00:00:00.000000000 Z
11
+ date: 2016-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -150,6 +150,34 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: 1.8.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: docopt
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.5.0
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.5.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: highline
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 1.7.8
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 1.7.8
153
181
  description: core slnky lib and command line
154
182
  email:
155
183
  - me@shawncatz.com
@@ -160,6 +188,8 @@ extra_rdoc_files: []
160
188
  files:
161
189
  - ".gitignore"
162
190
  - ".rspec"
191
+ - ".ruby-gemset"
192
+ - ".ruby-version"
163
193
  - ".travis.yml"
164
194
  - CODE_OF_CONDUCT.md
165
195
  - Gemfile
@@ -173,22 +203,29 @@ files:
173
203
  - lib/capistrano/tasks/slnky.rake
174
204
  - lib/slnky.rb
175
205
  - lib/slnky/cli.rb
206
+ - lib/slnky/cli/command.rb
176
207
  - lib/slnky/cli/generate.rb
177
208
  - lib/slnky/cli/notify.rb
209
+ - lib/slnky/cli/service.rb
210
+ - lib/slnky/command.rb
211
+ - lib/slnky/command/request.rb
212
+ - lib/slnky/command/response.rb
213
+ - lib/slnky/config.rb
178
214
  - lib/slnky/data.rb
179
215
  - lib/slnky/ext/deep_struct.rb
180
216
  - lib/slnky/generator.rb
181
217
  - lib/slnky/generator/command.rb
182
218
  - lib/slnky/generator/service.rb
219
+ - lib/slnky/log.rb
183
220
  - lib/slnky/message.rb
184
221
  - lib/slnky/service.rb
185
- - lib/slnky/service/exchanges.rb
186
- - lib/slnky/service/periodics.rb
187
- - lib/slnky/service/queues.rb
188
- - lib/slnky/service/subscriptions.rb
222
+ - lib/slnky/service/subscriber.rb
223
+ - lib/slnky/service/timer.rb
224
+ - lib/slnky/system.rb
189
225
  - lib/slnky/template/service/.env.sample
190
226
  - lib/slnky/template/service/.gitignore.erb
191
227
  - lib/slnky/template/service/.rspec
228
+ - lib/slnky/template/service/.ruby-version
192
229
  - lib/slnky/template/service/.travis.yml
193
230
  - lib/slnky/template/service/CODE_OF_CONDUCT.md
194
231
  - lib/slnky/template/service/Capfile
@@ -199,13 +236,20 @@ files:
199
236
  - lib/slnky/template/service/config/deploy/staging.rb
200
237
  - lib/slnky/template/service/deploy.env.erb
201
238
  - lib/slnky/template/service/lib/capistrano/tasks/NAME.rake.erb
202
- - lib/slnky/template/service/lib/slnky/service/NAME.rb.erb
239
+ - lib/slnky/template/service/lib/slnky/NAME.rb.erb
240
+ - lib/slnky/template/service/lib/slnky/NAME/client.rb.erb
241
+ - lib/slnky/template/service/lib/slnky/NAME/command.rb.erb
242
+ - lib/slnky/template/service/lib/slnky/NAME/mock.rb.erb
243
+ - lib/slnky/template/service/lib/slnky/NAME/service.rb.erb
203
244
  - lib/slnky/template/service/log/.keep
204
245
  - lib/slnky/template/service/service-slnky-NAME.erb
205
- - lib/slnky/template/service/spec/slnky/service/NAME_spec.rb.erb
246
+ - lib/slnky/template/service/spec/slnky/NAME/command_spec.rb.erb
247
+ - lib/slnky/template/service/spec/slnky/NAME/service_spec.rb.erb
206
248
  - lib/slnky/template/service/spec/spec_helper.rb.erb
249
+ - lib/slnky/template/service/test/commands/echo.json.erb
207
250
  - lib/slnky/template/service/test/config.yaml.erb
208
251
  - lib/slnky/template/service/test/events/test.json
252
+ - lib/slnky/transport.rb
209
253
  - lib/slnky/version.rb
210
254
  - slnky.gemspec
211
255
  homepage: https://github.com/slnky/slnky-cli
@@ -1,33 +0,0 @@
1
- module Slnky
2
- module Service
3
- class Exchanges
4
- def initialize(channel)
5
- @channel = channel
6
- @exchanges = {}
7
- end
8
-
9
- def create(name, overrides={})
10
- options = {
11
- type: :fanout
12
- }.merge(overrides)
13
- @exchanges[name] =
14
- case options[:type]
15
- when :fanout
16
- @channel.fanout("slnky.#{name}")
17
- else
18
- raise "unknown exchange type: #{options[:type]}"
19
- end
20
- end
21
-
22
- def [](name)
23
- @exchanges["slnky.#{name}"] || @exchanges[name] || raise("no exchange found: #{name}")
24
- end
25
-
26
- def each
27
- @exchanges.each do |name, exchange|
28
- yield name, exchange
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,19 +0,0 @@
1
- module Slnky
2
- module Service
3
- class Periodics
4
- def initialize
5
- @timers = []
6
- end
7
-
8
- def add(seconds, method)
9
- @timers << {seconds: seconds, method: method}
10
- end
11
-
12
- def each
13
- @timers.each do |timer|
14
- yield timer['seconds'], timer['method']
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,27 +0,0 @@
1
- module Slnky
2
- module Service
3
- class Queues
4
- def initialize(channel)
5
- @channel = channel
6
- @queues = {}
7
- end
8
-
9
- def create(name, exchange, overrides={})
10
- options = {
11
- durable: true
12
- }.merge(overrides)
13
- @queues[name] = @channel.queue("service.#{name}.events", options).bind(exchange)
14
- end
15
-
16
- def [](name)
17
- @queues["service.#{name}.events"] || @queues[name] || raise("no queue found: #{name}")
18
- end
19
-
20
- def each
21
- @queues.each do |name, exchange|
22
- yield name, exchange
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,27 +0,0 @@
1
- module Slnky
2
- module Service
3
- class Subscriptions
4
- def initialize
5
- @subs = []
6
- end
7
-
8
- def add(name, method)
9
- @subs << {name: name, method: method}
10
- end
11
-
12
- def each
13
- @subs.each do |sub|
14
- yield sub[:name], sub[:method]
15
- end
16
- end
17
-
18
- def for(name)
19
- @subs.each do |sub|
20
- if sub[:name] == name || File.fnmatch(sub[:name], name)
21
- yield sub[:name], sub[:method] if block_given?
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,10 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Slnky::Service::<%= name.capitalize %> do
4
- subject { described_class.new("http://localhost:3000", test_config) }
5
- let(:test_event) { event_load('test')}
6
-
7
- it 'handles event' do
8
- expect(subject.handler(test_event.name, test_event.payload)).to eq(true)
9
- end
10
- end