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