cinch-wikipedia 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: 305cbd144f78bb303fc80ea0799cb7f99bf3e617
4
+ data.tar.gz: c459148d6bf723416685399c1bb81ef55ff9353d
5
+ SHA512:
6
+ metadata.gz: d67acf315089000afc197817fc3f721244be777ce70ce680940b342c8d235bb571b293ac4429c16cb9bb59293166f3907fe7b98b41ed63680a39032124e1e504
7
+ data.tar.gz: d7610b6e57932623fd3798ed99ee9a1f86ca07d5335a8cb7dcf88e31fcecf84fb4b246bad31e4e556f63ca42dded00985e90e5c7283c81f9a8c910d7ad5245d2
@@ -1,4 +1,23 @@
1
1
  language: ruby
2
+ env:
3
+ global:
4
+ - "JRUBY_OPTS=-Xcext.enabled=true"
2
5
  rvm:
3
- - 1.9.2
6
+ - 2.1.0
7
+ - 2.0.0
4
8
  - 1.9.3
9
+ - 1.9.2
10
+ - 1.8.7
11
+ - jruby-18mode
12
+ - jruby-19mode
13
+ - ruby-head
14
+ - jruby-head
15
+ - ree
16
+ matrix:
17
+ allow_failures:
18
+ - rvm: 1.8.7
19
+ - rvm: ree
20
+ - rvm: jruby-18mode
21
+ - rvm: jruby-19mode
22
+ - rvm: jruby-head
23
+ fast_finish: true
@@ -18,12 +18,11 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ['lib']
20
20
 
21
- gem.add_development_dependency 'rake'
22
- gem.add_development_dependency 'rspec'
23
- gem.add_development_dependency 'coveralls'
24
- gem.add_development_dependency 'cinch-test'
25
-
26
- gem.add_dependency 'cinch', '~> 2.0.12'
27
- gem.add_dependency 'cinch-toolbox', '~> 1.1.0'
28
- gem.add_dependency 'cinch-cooldown', '~> 1.1.1'
21
+ gem.add_development_dependency 'rake', '~> 10'
22
+ gem.add_development_dependency 'rspec', '~> 3'
23
+ gem.add_development_dependency 'coveralls', '~> 0.7'
24
+ gem.add_development_dependency 'cinch-test', '~> 0.1', '>= 0.1.0'
25
+ gem.add_dependency 'cinch', '~> 2'
26
+ gem.add_dependency 'cinch-cooldown', '~> 1.1', '>= 1.1.1'
27
+ gem.add_dependency 'cinch-toolbox', '~> 1.1'
29
28
  end
@@ -3,64 +3,65 @@ require 'cinch'
3
3
  require 'cinch/toolbox'
4
4
  require 'cinch/cooldown'
5
5
 
6
- module Cinch::Plugins
7
- # Plugin to allow users to search wikipedia.
8
- class Wikipedia
9
- include Cinch::Plugin
6
+ module Cinch
7
+ module Plugins
8
+ # Plugin to allow users to search wikipedia.
9
+ class Wikipedia
10
+ include Cinch::Plugin
10
11
 
11
- enforce_cooldown
12
+ enforce_cooldown
12
13
 
13
- self.help = 'Use .wiki <term> to see the Wikipedia info for that term.'
14
+ self.help = 'Use .wiki <term> to see the Wikipedia info for that term.'
14
15
 
15
- match /wiki (.*)/
16
- match /wikipedia (.*)/
16
+ match(/wiki(?:pedia)? (.*)/)
17
17
 
18
- def initialize(*args)
19
- super
20
- @max_length = config[:max_length] || 300
21
- end
18
+ def initialize(*args)
19
+ super
20
+ @max_length = config[:max_length] || 300
21
+ end
22
22
 
23
- def execute(m, term)
24
- m.reply wiki(term)
25
- end
23
+ def execute(m, term)
24
+ m.reply wiki(term)
25
+ end
26
26
 
27
- private
27
+ private
28
28
 
29
- def wiki(term)
30
- # URI Encode
31
- term = URI.escape(term, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
32
- url = "http://en.wikipedia.org/w/index.php?search=#{term}"
29
+ def wiki(term)
30
+ # URI Encode
31
+ term = URI.escape(term, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
32
+ url = "http://en.wikipedia.org/w/index.php?search=#{term}"
33
33
 
34
- # Truncate text and url if they are too long
35
- text = Cinch::Toolbox.truncate(get_def(term, url), @max_length)
36
- url = Cinch::Toolbox.shorten(url)
34
+ # Truncate text and url if they are too long
35
+ text = Cinch::Toolbox.truncate(get_def(term, url), @max_length)
36
+ url = Cinch::Toolbox.shorten(url)
37
37
 
38
- "Wikipedia ∴ #{text} [#{url}]"
39
- end
38
+ "Wikipedia ∴ #{text} [#{url}]"
39
+ end
40
40
 
41
- def get_def(term, url)
42
- cats = Cinch::Toolbox.get_html_element(url, '#mw-normal-catlinks')
43
- if cats && cats.include?('Disambiguation')
44
- wiki_text = "'#{term} is too vague and lead to a disambiguation page."
45
- else
46
- wiki_text = Cinch::Toolbox.get_html_element(url, '#mw-content-text p')
47
- if wiki_text.nil? || wiki_text.include?('Help:Searching')
48
- return not_found(wiki_text, url)
41
+ def get_def(term, url)
42
+ cats = Cinch::Toolbox.get_html_element(url, '#mw-normal-catlinks')
43
+ if cats && cats.include?('Disambiguation')
44
+ wiki_text = "'#{term} is too vague and lead to a disambiguation page."
45
+ else
46
+ wiki_text = Cinch::Toolbox.get_html_element(url, '#mw-content-text p')
47
+ if wiki_text.nil? || wiki_text.include?('Help:Searching')
48
+ return not_found(url)
49
+ end
49
50
  end
51
+ wiki_text
50
52
  end
51
- wiki_text
52
- end
53
53
 
54
- def not_found(wiki_text, url)
55
- msg = "I couldn't find anything for that search, "
56
- alt_term_text = Cinch::Toolbox.get_html_element(url, '.searchdidyoumean')
57
- if alt_term_text
58
- alt_term = alt_term_text[/\ADid you mean: (\w+)\z/, 1]
59
- msg << "did you mean '#{alt_term}'?"
60
- else
61
- msg << 'sorry!'
54
+ def not_found(url)
55
+ msg = "I couldn't find anything for that search, "
56
+ alt_term = Cinch::Toolbox.get_html_element(url, '.searchdidyoumean')
57
+ if alt_term
58
+ alt_term = alt_term[/\ADid you mean: (\w+)\z/, 1]
59
+ msg << "did you mean '#{alt_term}'?"
60
+ else
61
+ msg << 'sorry!'
62
+ end
63
+ msg
62
64
  end
63
- msg
64
65
  end
65
66
  end
66
67
  end
@@ -3,7 +3,7 @@ module Cinch
3
3
  module Plugins
4
4
  # Versioning information
5
5
  class Wikipedia
6
- VERSION = '1.0.3'
6
+ VERSION = '1.0.4'
7
7
  end
8
8
  end
9
9
  end
@@ -9,34 +9,41 @@ describe Cinch::Plugins::Wikipedia do
9
9
 
10
10
  # normal queries
11
11
  it 'should return a definition of a term' do
12
- get_replies(make_message(@bot, '!wiki computer')).first.text.
13
- should include("A computer is a general purpose device")
12
+ expect(get_replies(make_message(@bot, '!wiki computer')).first.text)
13
+ .to include("A computer is a general purpose device")
14
+ end
15
+
16
+ it 'should return a definition of a term for each version of cmd' do
17
+ msg1 = get_replies(make_message(@bot, '!wiki computer')).first.text
18
+ msg2 = get_replies(make_message(@bot, '!wikipedia computer')).first.text
19
+ expect(msg1).to eq(msg2)
14
20
  end
15
21
 
16
22
  it 'should not return multiple lined definitions' do
17
- get_replies(make_message(@bot, '!wiki Teenager')).first.text.
18
- should_not include("\n")
23
+ expect(get_replies(make_message(@bot, '!wiki Teenager')).first.text)
24
+ .to_not include("\n")
19
25
  end
20
26
 
21
27
  it 'should not return definitions that are longer than 250 chars' do
22
- get_replies(make_message(@bot, '!wiki Teenager')).first.text.length.
23
- should == 334
28
+ expect(get_replies(make_message(@bot, '!wiki Teenager')).first.text.length)
29
+ .to eq 334
24
30
  end
25
31
 
26
32
  # Not found
27
33
  it 'should return an error message when a term is not found' do
28
- get_replies(make_message(@bot, '!wiki dasdafasfasfasfasafsdfsdfsadf')).first.text.
29
- should include("I couldn't find anything for that search, sorry!")
34
+ msg = make_message(@bot, '!wiki dasdafasfasfasfasafsdfsdfsadf')
35
+ expect(get_replies(msg).first.text)
36
+ .to include("I couldn't find anything for that search, sorry!")
30
37
  end
31
38
 
32
39
  it 'should provide suggestions if one is listed on the page' do
33
- get_replies(make_message(@bot, '!wiki smegama')).first.text.
34
- should include("I couldn't find anything for that search, did you mean 'smegma'?")
40
+ expect(get_replies(make_message(@bot, '!wiki smegama')).first.text)
41
+ .to include("I couldn't find anything for that search, did you mean 'smegma'?")
35
42
  end
36
43
 
37
44
  # disambiguation
38
45
  it 'should return helful information when a disambuation page' do
39
- get_replies(make_message(@bot, '!wiki hacker')).first.text.
40
- should include('is too vague and lead to a disambiguation page')
46
+ expect(get_replies(make_message(@bot, '!wiki hacker')).first.text)
47
+ .to include('is too vague and lead to a disambiguation page')
41
48
  end
42
49
  end
metadata CHANGED
@@ -1,128 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-wikipedia
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
5
- prerelease:
4
+ version: 1.0.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brian Haberer
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-02-20 00:00:00.000000000 Z
11
+ date: 2014-08-04 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '0'
19
+ version: '10'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: '0'
26
+ version: '10'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: '0'
33
+ version: '3'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: '0'
40
+ version: '3'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: coveralls
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ~>
52
46
  - !ruby/object:Gem::Version
53
- version: '0'
47
+ version: '0.7'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ~>
60
53
  - !ruby/object:Gem::Version
61
- version: '0'
54
+ version: '0.7'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: cinch-test
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.1'
67
62
  - - ! '>='
68
63
  - !ruby/object:Gem::Version
69
- version: '0'
64
+ version: 0.1.0
70
65
  type: :development
71
66
  prerelease: false
72
67
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
68
  requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: '0.1'
75
72
  - - ! '>='
76
73
  - !ruby/object:Gem::Version
77
- version: '0'
74
+ version: 0.1.0
78
75
  - !ruby/object:Gem::Dependency
79
76
  name: cinch
80
77
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
78
  requirements:
83
79
  - - ~>
84
80
  - !ruby/object:Gem::Version
85
- version: 2.0.12
81
+ version: '2'
86
82
  type: :runtime
87
83
  prerelease: false
88
84
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
85
  requirements:
91
86
  - - ~>
92
87
  - !ruby/object:Gem::Version
93
- version: 2.0.12
88
+ version: '2'
94
89
  - !ruby/object:Gem::Dependency
95
- name: cinch-toolbox
90
+ name: cinch-cooldown
96
91
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
92
  requirements:
99
93
  - - ~>
100
94
  - !ruby/object:Gem::Version
101
- version: 1.1.0
95
+ version: '1.1'
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: 1.1.1
102
99
  type: :runtime
103
100
  prerelease: false
104
101
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
102
  requirements:
107
103
  - - ~>
108
104
  - !ruby/object:Gem::Version
109
- version: 1.1.0
105
+ version: '1.1'
106
+ - - ! '>='
107
+ - !ruby/object:Gem::Version
108
+ version: 1.1.1
110
109
  - !ruby/object:Gem::Dependency
111
- name: cinch-cooldown
110
+ name: cinch-toolbox
112
111
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
112
  requirements:
115
113
  - - ~>
116
114
  - !ruby/object:Gem::Version
117
- version: 1.1.1
115
+ version: '1.1'
118
116
  type: :runtime
119
117
  prerelease: false
120
118
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
119
  requirements:
123
120
  - - ~>
124
121
  - !ruby/object:Gem::Version
125
- version: 1.1.1
122
+ version: '1.1'
126
123
  description: Cinch plugin that fetches a truncated blurb from the head of a wikipedia
127
124
  page.
128
125
  email:
@@ -146,29 +143,27 @@ files:
146
143
  homepage: https://github.com/bhaberer/cinch-wikipedia
147
144
  licenses:
148
145
  - MIT
146
+ metadata: {}
149
147
  post_install_message:
150
148
  rdoc_options: []
151
149
  require_paths:
152
150
  - lib
153
151
  required_ruby_version: !ruby/object:Gem::Requirement
154
- none: false
155
152
  requirements:
156
153
  - - ! '>='
157
154
  - !ruby/object:Gem::Version
158
155
  version: '0'
159
156
  required_rubygems_version: !ruby/object:Gem::Requirement
160
- none: false
161
157
  requirements:
162
158
  - - ! '>='
163
159
  - !ruby/object:Gem::Version
164
160
  version: '0'
165
161
  requirements: []
166
162
  rubyforge_project:
167
- rubygems_version: 1.8.25
163
+ rubygems_version: 2.2.2
168
164
  signing_key:
169
- specification_version: 3
165
+ specification_version: 4
170
166
  summary: Cinch Wikipedia Plugin
171
167
  test_files:
172
168
  - spec/cinch-wikipedia_spec.rb
173
169
  - spec/spec_helper.rb
174
- has_rdoc: