lita-ai 0.1.1 → 0.1.2

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: 962088ee29c13008e2aebcfff430e6afc206bcca
4
- data.tar.gz: 361a60ed9bc1b7db0e4b5b69bc1afaf61a9ab66e
3
+ metadata.gz: 642a16fd0ac7030a2e0ab8831b5bcc164eeedcf3
4
+ data.tar.gz: ec993bbb173d63c1a9f0118f986c5657867c00df
5
5
  SHA512:
6
- metadata.gz: 7e3901a4ff474c95006edd23f5267d517d43a8caeae001101f951ad917e9e7df1d826d8da92a58a95828233b4da949c9275578b0ff90abefef91052494624e2a
7
- data.tar.gz: f8ecc9edeb4dd2965cab37bf2b8346b95ca0880ed6e68e0b6e7d4a2fe9abff92c4c0fa87a011eed9db228313e3713bbf3094e60c94950f89441ee29acf377900
6
+ metadata.gz: d369068a9bbba64adcf700c4c0261fd2387e2c18236b32878b99fb6b20e7f50826dff7699c869b234d9964a3fcf7b1ab412fe0b2d652ad8717d0138665f69481
7
+ data.tar.gz: 9db09bd3ff3e5b419ba005ca177bfd74f7d5bbfcb0699c453f909162ba932b834e959c96e35f8ac38b2eaefc7381e3c346f900e0e83137802f3e1098e2f26820
data/.travis.yml CHANGED
@@ -4,6 +4,7 @@ rvm:
4
4
  script: bundle exec rake
5
5
  before_install:
6
6
  - gem update --system
7
+ - gem install bundler
7
8
 
8
9
  services:
9
10
  - redis-server
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # lita-ai
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/lita-ai.svg)](https://badge.fury.io/rb/lita-ai)
3
4
  [![Build Status](https://travis-ci.org/tombeynon/lita-ai.png?branch=master)](https://travis-ci.org/tombeynon/lita-ai)
4
5
  [![Coverage Status](https://coveralls.io/repos/tombeynon/lita-ai/badge.svg?branch=master&service=github)](https://coveralls.io/github/tombeynon/lita-ai?branch=master)
5
6
 
@@ -22,7 +22,12 @@ module Lita
22
22
  def build_response(message)
23
23
  message = extract_aliases(message)
24
24
  reply = self.class.cleverbot.think(message.body)
25
- reply.to_s.gsub(/\|([0-9A-F]{4})/) { ["#{$1}".hex].pack("U") } if reply
25
+ clean_response(reply.to_s) if reply
26
+ end
27
+
28
+ def clean_response(response)
29
+ response.gsub!(/\|([0-9A-F]{4})/) { ["#{$1}".hex].pack("U") }
30
+ HTMLEntities.new.decode(response)
26
31
  end
27
32
 
28
33
  def extract_aliases(message)
data/lib/lita-ai.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "lita"
2
2
  require "clever-api"
3
+ require "htmlentities"
3
4
 
4
5
  Lita.load_locales Dir[File.expand_path(
5
6
  File.join("..", "..", "locales", "*.yml"), __FILE__
data/lita-ai.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-ai"
3
- spec.version = "0.1.1"
3
+ spec.version = "0.1.2"
4
4
  spec.authors = ["Tom Beynon"]
5
5
  spec.email = ["tom@tombeynon.co.uk"]
6
6
  spec.description = "Makes lita respond to unhandled messages using Cleverbot"
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.add_runtime_dependency "lita", ">= 4.6"
18
18
  spec.add_runtime_dependency "clever-api", "~> 0.0.2"
19
+ spec.add_runtime_dependency "htmlentities", "~> 4.3"
19
20
 
20
21
  spec.add_development_dependency "bundler", "~> 1.3"
21
22
  spec.add_development_dependency "pry-byebug"
@@ -43,13 +43,20 @@ describe Lita::Handlers::Ai, lita_handler: true do
43
43
 
44
44
  end
45
45
 
46
- context 'unicode format reply' do
46
+ context 'unicode decoding' do
47
47
  let(:message){ double(:message, body: '中文', command?: true, source: source) }
48
48
  before { allow(described_class.cleverbot).to receive(:think).and_return("|56E0|4E3A|6211|4E0D|61C2...") }
49
49
 
50
50
  it { expect(subject.chat(message: message)[0]).to eq "因为我不懂..." }
51
51
  end
52
52
 
53
+ context 'HTML entity decoding' do
54
+ let(:message){ double(:message, body: 'Foo © bar 𝌆', command?: true, source: source) }
55
+ before { allow(described_class.cleverbot).to receive(:think).and_return("Baz ☃ Bim å") }
56
+
57
+ it { expect(subject.chat(message: message)[0]).to eq "Baz ☃ Bim å" }
58
+ end
59
+
53
60
  context 'mentioning lita' do
54
61
  let(:message){ double(:message, body: 'Hi lita', command?: false, source: source) }
55
62
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Beynon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-10 00:00:00.000000000 Z
11
+ date: 2016-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.0.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: htmlentities
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.3'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '4.3'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement