lita-salt 0.2.1.pre.beta → 0.3.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 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