slnky 0.6.1 → 0.7.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/bin/slnky +1 -1
- data/lib/slnky/cli/generate.rb +13 -9
- data/lib/slnky/cli/notify.rb +41 -0
- data/lib/slnky/cli.rb +31 -23
- data/lib/slnky/data.rb +16 -0
- data/lib/slnky/message.rb +1 -9
- data/lib/slnky/version.rb +1 -1
- data/lib/slnky.rb +23 -2
- data/slnky.gemspec +2 -1
- metadata +22 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80d5dc68a166001641591a4ef021f391dd70f94f
|
4
|
+
data.tar.gz: 94b1e65b7268f55da42fc1c7b807d1f64192a8d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0870455ed3aa7cebc2ef3da4e29a8685e3e1d199e6c85cc151484f48e7924fafe81ad2e87f30435563c3d7a78f4ad7d30d0bea74d50c4817d8641311a0f220ea
|
7
|
+
data.tar.gz: 416f5224034de7e6b4138f5733180833261e841d8680e44b66ee1b5c25620fc57f675fbdbe9d8d0c85df3d47b5301afff46df14e5383b8c149b3847d4304ac1e
|
data/bin/slnky
CHANGED
data/lib/slnky/cli/generate.rb
CHANGED
@@ -1,17 +1,21 @@
|
|
1
1
|
module Slnky
|
2
2
|
module CLI
|
3
|
-
class Generate <
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
class Generate < Base
|
4
|
+
subcommand 'service', 'generate a service named NAME' do
|
5
|
+
parameter 'NAME', 'the name of the service'
|
6
|
+
def execute
|
7
|
+
generator = Slnky::Generator::Service.new(name, dir)
|
8
|
+
generator.generate
|
9
|
+
end
|
8
10
|
end
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
12
|
+
subcommand 'command', 'generate a command named NAME' do
|
13
|
+
parameter 'NAME', 'the name of the command'
|
14
|
+
def execute
|
15
|
+
raise 'not implemented'
|
16
|
+
end
|
14
17
|
end
|
15
18
|
end
|
16
19
|
end
|
17
20
|
end
|
21
|
+
Slnky::CLI::Main.subcommand 'generate', 'generate from templates', Slnky::CLI::Generate
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Slnky
|
2
|
+
module CLI
|
3
|
+
class Notify < Base
|
4
|
+
# option %w{-s --server}, '[SERVER]', 'set server url', environment_variable: 'SLNKY_SERVER'
|
5
|
+
option %w{-f --file}, '[FILE]', 'load attributes from yaml file' do |f|
|
6
|
+
unless File.exist?(f)
|
7
|
+
puts "ERROR: file #{f} does not exist"
|
8
|
+
exit(1)
|
9
|
+
end
|
10
|
+
f
|
11
|
+
end
|
12
|
+
parameter 'NAME', 'the name of the event to send'
|
13
|
+
parameter '[ATTRIBUTES] ...', 'key=value pairs to add to the event, merged with optional file', attribute_name: :kvs
|
14
|
+
|
15
|
+
def execute
|
16
|
+
attributes = {}
|
17
|
+
if file
|
18
|
+
begin
|
19
|
+
yaml = YAML.load_file(file)
|
20
|
+
attributes.merge!(yaml)
|
21
|
+
rescue => e
|
22
|
+
puts "ERROR: reading file #{file}"
|
23
|
+
exit(1)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
kvs.each do |kv|
|
27
|
+
(k, v) = kv.split('=')
|
28
|
+
attributes[k] = v
|
29
|
+
end
|
30
|
+
msg = Slnky::Message.new({name: name, attributes: attributes})
|
31
|
+
cfg = Slnky.config
|
32
|
+
srv = server || cfg['slnky']['url']
|
33
|
+
|
34
|
+
puts 'sending message:'
|
35
|
+
puts JSON.pretty_generate(msg.to_h)
|
36
|
+
Slnky.notify(msg)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
Slnky::CLI::Main.subcommand 'notify', 'send notification to the slnky server', Slnky::CLI::Notify
|
data/lib/slnky/cli.rb
CHANGED
@@ -1,37 +1,45 @@
|
|
1
1
|
require 'slnky'
|
2
2
|
require 'yaml'
|
3
|
-
require '
|
3
|
+
require 'clamp'
|
4
4
|
require 'active_support/all'
|
5
5
|
|
6
|
-
path = File.expand_path("../cli", __FILE__)
|
7
|
-
Dir["#{path}/**/*.rb"].each do |file|
|
8
|
-
require file
|
9
|
-
end
|
10
|
-
|
11
6
|
module Slnky
|
12
7
|
module CLI
|
13
|
-
class
|
14
|
-
|
15
|
-
|
16
|
-
desc "--version, -v", "print the version"
|
17
|
-
def __print_version
|
8
|
+
class Base < Clamp::Command
|
9
|
+
option %w{-v --version}, :flag, 'print version' do |v|
|
18
10
|
puts "Slnky version: #{Slnky::VERSION}"
|
11
|
+
exit(0)
|
19
12
|
end
|
20
13
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
defaults = {
|
26
|
-
slnky: {
|
27
|
-
url: 'http://localhost:3000'
|
28
|
-
}
|
29
|
-
}.deep_stringify_keys
|
30
|
-
File.open("#{dir}/config.yaml", "w+") {|f| f.write(defaults.to_yaml)}
|
14
|
+
option %w{-c --config}, '[CONFIG]', 'set config directory location', default: '~/.slnky', environment_variable: 'SLNKY_CONFIG' do |c|
|
15
|
+
p = File.expand_path("#{c}/config.yaml")
|
16
|
+
Slnky.load_config(p)
|
17
|
+
c
|
31
18
|
end
|
32
19
|
|
33
|
-
|
34
|
-
|
20
|
+
option %w{-s --server}, '[SERVER]', 'set server url', environment_variable: 'SLNKY_SERVER'
|
21
|
+
end
|
22
|
+
|
23
|
+
class Main < Base
|
24
|
+
subcommand 'init', 'initialize the configuration directory' do
|
25
|
+
parameter '[SERVER]', 'the server to point to', default: 'http://localhost:3000'
|
26
|
+
|
27
|
+
def execute
|
28
|
+
dir = "#{ENV['HOME']}/.slnky"
|
29
|
+
FileUtils.mkdir_p(dir)
|
30
|
+
defaults = {
|
31
|
+
slnky: {
|
32
|
+
url: server
|
33
|
+
}
|
34
|
+
}.deep_stringify_keys
|
35
|
+
File.open("#{dir}/config.yaml", "w+") { |f| f.write(defaults.to_yaml) }
|
36
|
+
end
|
37
|
+
end
|
35
38
|
end
|
36
39
|
end
|
37
40
|
end
|
41
|
+
|
42
|
+
path = File.expand_path("../cli", __FILE__)
|
43
|
+
Dir["#{path}/**/*.rb"].each do |file|
|
44
|
+
require file
|
45
|
+
end
|
data/lib/slnky/data.rb
ADDED
data/lib/slnky/message.rb
CHANGED
data/lib/slnky/version.rb
CHANGED
data/lib/slnky.rb
CHANGED
@@ -1,10 +1,31 @@
|
|
1
1
|
require 'slnky/version'
|
2
|
+
require 'slnky/data'
|
2
3
|
require 'slnky/message'
|
3
4
|
require 'slnky/service'
|
4
5
|
require 'slnky/generator'
|
5
6
|
|
7
|
+
require 'rest_client'
|
8
|
+
|
6
9
|
module Slnky
|
7
|
-
|
8
|
-
|
10
|
+
class << self
|
11
|
+
def version
|
12
|
+
Slnky::VERSION
|
13
|
+
end
|
14
|
+
|
15
|
+
def config
|
16
|
+
load_config unless @config
|
17
|
+
@config
|
18
|
+
end
|
19
|
+
|
20
|
+
def load_config(file='~/.slnky/config.yaml')
|
21
|
+
path = File.expand_path(file)
|
22
|
+
@config = Slnky::Data.new(YAML.load_file(path))
|
23
|
+
end
|
24
|
+
|
25
|
+
def notify(msg, server=nil)
|
26
|
+
server ||= config.slnky.url
|
27
|
+
params = {name: msg.name, event: msg.to_h}
|
28
|
+
RestClient.post "#{server}/hooks/notify", params.to_json, content_type: :json, accept: :json
|
29
|
+
end
|
9
30
|
end
|
10
31
|
end
|
data/slnky.gemspec
CHANGED
@@ -33,8 +33,9 @@ Gem::Specification.new do |spec|
|
|
33
33
|
|
34
34
|
spec.add_dependency 'dotenv', '~> 2.1.0'
|
35
35
|
spec.add_dependency 'amqp', '~> 1.5.1'
|
36
|
-
spec.add_dependency '
|
36
|
+
spec.add_dependency 'clamp', '~> 1.0.0'
|
37
37
|
spec.add_dependency 'activesupport', '~> 4.2.5.1'
|
38
38
|
spec.add_dependency 'tilt', '~> 2.0.2'
|
39
39
|
spec.add_dependency 'eventmachine', '~> 1.0.9.1'
|
40
|
+
spec.add_dependency 'rest-client', '~> 1.8.0'
|
40
41
|
end
|
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.7.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-
|
11
|
+
date: 2016-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -81,19 +81,19 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 1.5.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: clamp
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 1.0.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 1.0.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: activesupport
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 1.0.9.1
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rest-client
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 1.8.0
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 1.8.0
|
139
153
|
description: core slnky lib and command line
|
140
154
|
email:
|
141
155
|
- me@shawncatz.com
|
@@ -160,6 +174,8 @@ files:
|
|
160
174
|
- lib/slnky.rb
|
161
175
|
- lib/slnky/cli.rb
|
162
176
|
- lib/slnky/cli/generate.rb
|
177
|
+
- lib/slnky/cli/notify.rb
|
178
|
+
- lib/slnky/data.rb
|
163
179
|
- lib/slnky/ext/deep_struct.rb
|
164
180
|
- lib/slnky/generator.rb
|
165
181
|
- lib/slnky/generator/command.rb
|
@@ -212,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
212
228
|
version: '0'
|
213
229
|
requirements: []
|
214
230
|
rubyforge_project:
|
215
|
-
rubygems_version: 2.4.
|
231
|
+
rubygems_version: 2.4.7
|
216
232
|
signing_key:
|
217
233
|
specification_version: 4
|
218
234
|
summary: core slnky lib and command line
|