lita-salt 0.2.1.pre.beta → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 38bbf17d0221465533511be02e3d4ff0c91996fe
4
- data.tar.gz: 50b763e665c535666d2fbe2a9e611cde83ddd7c9
3
+ metadata.gz: 2c0e502b9058427844ca0c6d731c0ec96d547632
4
+ data.tar.gz: bff383bb61e3ac850fc3792bd74916863d898ed4
5
5
  SHA512:
6
- metadata.gz: 1a8cf9ad80f7741da52c89053b1bc37c298d0c085c226fed0c3c3efa91bdcad0ba61c0d7326ee32e360ebc7d8490ad1035f309050a9c07481bf5b3c3df8ee3d4
7
- data.tar.gz: 335e4d043681e34e49beb925bc12063ed544d93f6f3b1f5b92f4f1c3bbf7af8e7820b899a9cee115037709da29dc91cac34411383b894e8ad896de5b0f7786cd
6
+ metadata.gz: 4b2dcf48e6a38488da1d058a848e6f2c1f0e84737ccb6e71bb143b978c8da067fdc0102e9028a74dfe3d3b60edb44ba161fc104942292fa0cba297c497d92da9
7
+ data.tar.gz: cdc928eb2eed0c13333d0bd74ab80217b17676d279b676988bbb06f787d886c475fef68cb9ff505e08c21cccfa4e599bb03498170c4029a95b7e1b7c50494576
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # lita-salt [![Gem Version](https://badge.fury.io/rb/lita-salt.svg)](http://badge.fury.io/rb/lita-salt)
2
2
 
3
- **lita-salt** is an adapter for Lita that gives your bot the power to interact with your saltstack installation via salt-api.
3
+ **lita-salt** is an adapter for [Lita](https://www.lita.io) that gives your bot the power to interact with your saltstack installation via salt-api.
4
4
 
5
5
  ## Installation
6
6
 
@@ -12,12 +12,16 @@ gem "lita-salt"
12
12
 
13
13
  ## Configuration
14
14
 
15
- ### Required attributes
15
+ ### Required
16
16
 
17
17
  * `url` (String) – The location of the running salt-api service.
18
18
  * `username` (String) – The username used to authenticate with salt-api.
19
19
  * `password` (String) – The password used to authenticate with salt-api.
20
20
 
21
+ ### Optional
22
+
23
+ * `returner` (String) – A [Saltstack returner](http://docs.saltstack.com/en/2014.7/ref/returners/all/) you'd like to use. (uses default if unset)
24
+
21
25
  ### Example
22
26
 
23
27
  ``` ruby
@@ -14,6 +14,7 @@ module Lita
14
14
  config :url, required: true
15
15
  config :username, required: true
16
16
  config :password, required: true
17
+ config :returner, required: false
17
18
 
18
19
 
19
20
 
@@ -100,7 +101,7 @@ module Lita
100
101
  if expired
101
102
  authenticate
102
103
  end
103
- body = build_runner('manage.up')
104
+ body = build_runner('manage.up', returner)
104
105
  response = make_request('/', body)
105
106
  if response.status == 200
106
107
  msg.reply response.body
@@ -113,7 +114,7 @@ module Lita
113
114
  if expired
114
115
  authenticate
115
116
  end
116
- body = build_runner('manage.down')
117
+ body = build_runner('manage.down', returner)
117
118
  response = make_request('/', body)
118
119
  if response.status == 200
119
120
  msg.reply response.body
@@ -132,7 +133,7 @@ module Lita
132
133
  if what.nil?
133
134
  msg.reply "Missing service name"
134
135
  else
135
- body = build_local(where, "#{__callee__}.#{task}", what)
136
+ body = build_local(where, "#{__callee__}.#{task}", what, returner)
136
137
  response = make_request('/', body)
137
138
  msg.reply process_response(response)
138
139
  end
@@ -148,7 +149,7 @@ module Lita
148
149
  if what.nil?
149
150
  msg.reply "Missing job name"
150
151
  else
151
- body = build_local(where, "#{__callee__}.#{task}", what)
152
+ body = build_local(where, "#{__callee__}.#{task}", what, returner)
152
153
  response = make_request('/', body)
153
154
  msg.reply process_response(response)
154
155
  end
@@ -164,7 +165,7 @@ module Lita
164
165
  if what.nil?
165
166
  msg.reply "Missing job name"
166
167
  else
167
- body = build_local(where, "#{__callee__}.#{task}", what)
168
+ body = build_local(where, "#{__callee__}.#{task}", what, returner)
168
169
  response = make_request('/', body)
169
170
  msg.reply process_response(response)
170
171
  end
@@ -193,7 +194,7 @@ module Lita
193
194
  if what.nil?
194
195
  msg.reply "Missing job name"
195
196
  else
196
- body = build_local(where, "#{__callee__}.#{task}", what)
197
+ body = build_local(where, "#{__callee__}.#{task}", what, returner)
197
198
  response = make_request('/', body)
198
199
  msg.reply_privately process_response(response)
199
200
  end
@@ -224,6 +225,10 @@ module Lita
224
225
  config.password
225
226
  end
226
227
 
228
+ def returner
229
+ config.returner
230
+ end
231
+
227
232
  end
228
233
 
229
234
  Lita.register_handler(Salt)
@@ -3,19 +3,22 @@ require 'json'
3
3
  module Utils
4
4
  module Payload
5
5
 
6
- def build_runner(function)
7
- JSON.dump({
6
+ def build_runner(function, returner=nil)
7
+ s = {
8
8
  client: :runner,
9
9
  fun: function
10
- })
10
+ }
11
+ s['ret'] = returner unless returner.nil?
12
+ JSON.dump(s)
11
13
  end
12
14
 
13
- def build_local(target, function, arg=nil)
15
+ def build_local(target, function, arg=nil, returner=nil)
14
16
  s = {
15
17
  client: :local,
16
18
  tgt: target,
17
- fun: function,
19
+ fun: function
18
20
  }
21
+ s['ret'] = returner unless returner.nil?
19
22
  s['arg'] = [arg] unless arg.nil?
20
23
  JSON.dump(s)
21
24
  end
data/lita-salt.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-salt"
3
- spec.version = "0.2.1-beta"
3
+ spec.version = "0.3.0"
4
4
  spec.authors = ["Jurnell Cockhren"]
5
5
  spec.email = ["jurnell@sophicware.com"]
6
6
  spec.description = %q{Salt handler for lita 4+}
@@ -20,8 +20,8 @@ Gem::Specification.new do |spec|
20
20
  spec.add_development_dependency "rack-test"
21
21
  spec.add_development_dependency "rspec", ">= 3.0.0"
22
22
  spec.add_development_dependency "simplecov"
23
- spec.add_development_dependency "coveralls"
24
23
  spec.add_development_dependency "webmock"
25
24
  spec.add_development_dependency "guard-rake"
26
25
  spec.add_development_dependency "guard-rspec"
26
+ spec.add_development_dependency "fakeredis"
27
27
  end
data/spec/spec_helper.rb CHANGED
@@ -1,10 +1,9 @@
1
1
  require "simplecov"
2
- require "coveralls"
3
2
  require 'webmock/rspec'
3
+ require 'fakeredis/rspec'
4
4
 
5
5
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
6
6
  SimpleCov::Formatter::HTMLFormatter,
7
- Coveralls::SimpleCov::Formatter
8
7
  ]
9
8
  SimpleCov.start { add_filter "/spec/" }
10
9
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-salt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1.pre.beta
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jurnell Cockhren
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-31 00:00:00.000000000 Z
11
+ date: 2015-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: coveralls
98
+ name: webmock
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: webmock
112
+ name: guard-rake
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: guard-rake
126
+ name: guard-rspec
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: guard-rspec
140
+ name: fakeredis
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -185,9 +185,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
185
185
  version: '0'
186
186
  required_rubygems_version: !ruby/object:Gem::Requirement
187
187
  requirements:
188
- - - ">"
188
+ - - ">="
189
189
  - !ruby/object:Gem::Version
190
- version: 1.3.1
190
+ version: '0'
191
191
  requirements: []
192
192
  rubyforge_project:
193
193
  rubygems_version: 2.4.5