slnky 0.8.3 → 0.9.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 +4 -4
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/bin/slnky +1 -0
- data/lib/slnky/cli/command.rb +78 -0
- data/lib/slnky/cli/generate.rb +3 -1
- data/lib/slnky/cli/service.rb +30 -0
- data/lib/slnky/cli.rb +4 -1
- data/lib/slnky/command/request.rb +7 -0
- data/lib/slnky/command/response.rb +43 -0
- data/lib/slnky/command.rb +100 -0
- data/lib/slnky/config.rb +69 -0
- data/lib/slnky/data.rb +14 -3
- data/lib/slnky/generator.rb +44 -18
- data/lib/slnky/log.rb +117 -0
- data/lib/slnky/service/subscriber.rb +57 -0
- data/lib/slnky/service/timer.rb +45 -0
- data/lib/slnky/service.rb +58 -96
- data/lib/slnky/system.rb +19 -0
- data/lib/slnky/template/service/.ruby-version +1 -0
- data/lib/slnky/template/service/config/deploy.rb.erb +3 -6
- data/lib/slnky/template/service/lib/slnky/NAME/client.rb.erb +11 -0
- data/lib/slnky/template/service/lib/slnky/NAME/command.rb.erb +15 -0
- data/lib/slnky/template/service/lib/slnky/NAME/mock.rb.erb +11 -0
- data/lib/slnky/template/service/lib/slnky/{service/NAME.rb.erb → NAME/service.rb.erb} +7 -4
- data/lib/slnky/template/service/lib/slnky/NAME.rb.erb +6 -0
- data/lib/slnky/template/service/service-slnky-NAME.erb +2 -2
- data/lib/slnky/template/service/spec/slnky/NAME/command_spec.rb.erb +17 -0
- data/lib/slnky/template/service/spec/slnky/NAME/service_spec.rb.erb +14 -0
- data/lib/slnky/template/service/spec/spec_helper.rb.erb +15 -4
- data/lib/slnky/template/service/test/commands/echo.json.erb +11 -0
- data/lib/slnky/template/service/test/config.yaml.erb +1 -1
- data/lib/slnky/transport.rb +98 -0
- data/lib/slnky/version.rb +1 -1
- data/lib/slnky.rb +15 -14
- data/slnky.gemspec +2 -0
- metadata +52 -8
- data/lib/slnky/service/exchanges.rb +0 -33
- data/lib/slnky/service/periodics.rb +0 -19
- data/lib/slnky/service/queues.rb +0 -27
- data/lib/slnky/service/subscriptions.rb +0 -27
- 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.
|
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-
|
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/
|
186
|
-
- lib/slnky/service/
|
187
|
-
- lib/slnky/
|
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/
|
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/
|
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
|
data/lib/slnky/service/queues.rb
DELETED
@@ -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
|