lita-eval 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/lita/handlers/eval.rb +6 -4
- data/lita-eval.gemspec +2 -1
- data/spec/lita/handlers/eval_spec.rb +3 -0
- data/spec/spec_helper.rb +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46bd5073b54887e65b542517468661d714f42070
|
4
|
+
data.tar.gz: 16cabbf79b525ebad42a7d60232a43c80402c1da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc127ce209fb2ee86584b45b2132c27389d6f02102e092276e63f6d5cfc1fd9de5d824270de2dfd619a326e2ccbe21a95a79875ce8a5bdf059c90177a319bbb8
|
7
|
+
data.tar.gz: d2e16e7405897348aeaea02c8ef4164cab5bb74f885bb902d055dda30630123db849fc0a08d137a0e0fdbd53680450ffda089e09d72a86fc6ebdca61716d05d9
|
data/lib/lita/handlers/eval.rb
CHANGED
@@ -4,15 +4,17 @@ require 'sicuro'
|
|
4
4
|
module Lita
|
5
5
|
module Handlers
|
6
6
|
class Eval < Handler
|
7
|
-
route %r{\Aeval\s(.+)}i, :evaluate, command: true, help: {
|
7
|
+
route %r{\Aeval\s(.+)}i, :evaluate, command: true, help: {
|
8
8
|
'eval CODE' => 'Evaluates the given ruby code.'
|
9
9
|
}
|
10
10
|
|
11
11
|
def evaluate(response)
|
12
12
|
code = response.matches[0][0]
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
http_response = http.post 'http://eval.so/api/evaluate' do |req|
|
14
|
+
req.headers['Content-Type'] = 'application/json'
|
15
|
+
req.body = MultiJson.dump(language: 'ruby', code: "p(#{code})")
|
16
|
+
end
|
17
|
+
response.reply MultiJson.load(http_response.body)['stdout'].strip
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
data/lita-eval.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = 'lita-eval'
|
3
|
-
spec.version = '0.0.
|
3
|
+
spec.version = '0.0.3'
|
4
4
|
spec.authors = ['Sergey Nartimov']
|
5
5
|
spec.email = ['just.lest@gmail.com']
|
6
6
|
spec.description = %q{A Lita handler for evaluating ruby code.}
|
@@ -20,4 +20,5 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
21
21
|
spec.add_development_dependency 'rake'
|
22
22
|
spec.add_development_dependency 'rspec', '>= 2.14'
|
23
|
+
spec.add_development_dependency 'webmock', '~> 1.20.4'
|
23
24
|
end
|
@@ -2,6 +2,9 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Lita::Handlers::Eval, lita_handler: true do
|
4
4
|
it 'evaluates the code' do
|
5
|
+
stub_request(:post, 'http://eval.so/api/evaluate')
|
6
|
+
.with(body: MultiJson.dump(language: 'ruby', code: 'p(2 + 2)'))
|
7
|
+
.to_return(status: 200, body: MultiJson.dump(stdout: "4\n"))
|
5
8
|
send_command('eval 2 + 2')
|
6
9
|
expect(replies.last).to eq('4')
|
7
10
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-eval
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergey Nartimov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2.14'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.20.4
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.20.4
|
83
97
|
description: A Lita handler for evaluating ruby code.
|
84
98
|
email:
|
85
99
|
- just.lest@gmail.com
|