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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c7581f44f816f767766dcfa8e897761ce2cd15fd
4
- data.tar.gz: d6f85f44699b691c633a79a8c418068c837ba2e4
3
+ metadata.gz: 46bd5073b54887e65b542517468661d714f42070
4
+ data.tar.gz: 16cabbf79b525ebad42a7d60232a43c80402c1da
5
5
  SHA512:
6
- metadata.gz: 9089acf1f60702b1a8be517127ce1ec5039c96e75a9fe4edc681ec1a6575eb8c121509e63dcdd22afc18c29aee184437e4ed1fb5b1eda0ea07dd13ec983b9c00
7
- data.tar.gz: a434f521c6beba8c0eef73fe12fd99b87634006f8f09a873d05f47dfdb5448d427ba68249bf69bb12f3fa4d497451c149e428e7265dd421cce5f4420b8b4e568
6
+ metadata.gz: dc127ce209fb2ee86584b45b2132c27389d6f02102e092276e63f6d5cfc1fd9de5d824270de2dfd619a326e2ccbe21a95a79875ce8a5bdf059c90177a319bbb8
7
+ data.tar.gz: d2e16e7405897348aeaea02c8ef4164cab5bb74f885bb902d055dda30630123db849fc0a08d137a0e0fdbd53680450ffda089e09d72a86fc6ebdca61716d05d9
@@ -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
- response.reply Sicuro.eval("p(#{code})").to_s.strip
14
- rescue
15
- response.reply 'Sorry, I was unable to evaluate the given code.'
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
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'lita-eval'
3
- spec.version = '0.0.2'
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
@@ -1,4 +1,5 @@
1
1
  require 'lita-eval'
2
2
  require 'lita/rspec'
3
+ require 'webmock/rspec'
3
4
 
4
5
  Lita.version_3_compatibility_mode = false
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.2
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-15 00:00:00.000000000 Z
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