slnky 0.8.3 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|