cinch-urbandict 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,3 @@
1
+ # -*- coding: utf-8 -*-
1
2
  require 'cinch/plugins/urbandict/version'
2
- require 'cinch/plugins/urbandict/urbandict'
3
+ require 'cinch/plugins/urbandict'
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'cinch'
3
+ require 'cinch/cooldown'
4
+ require 'cinch/toolbox'
5
+
6
+ module Cinch::Plugins
7
+ # Cinch plugin for getting UD defs.
8
+ class UrbanDict
9
+ include Cinch::Plugin
10
+
11
+ enforce_cooldown
12
+
13
+ self.help = 'Use .ud <term> to see the Urban Dictionary definition.'
14
+
15
+ match /ud (.*)/
16
+
17
+ def execute(m, term)
18
+ m.reply get_def(term), true
19
+ end
20
+
21
+ private
22
+
23
+ def get_def(term)
24
+ # URI Encode
25
+ term = URI.escape(term, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
26
+
27
+ # Check if it's not defined.
28
+ if Cinch::Toolbox.get_html_element(ud_url(term), '#not_defined_yet')
29
+ return "Urban Dictionary ∴ #{term}: No definition available."
30
+ end
31
+
32
+ # Get the def
33
+ ud_def(term)
34
+ end
35
+
36
+ def ud_def(term)
37
+ # Grab the element
38
+ result = Cinch::Toolbox.get_html_element(ud_url(term), '.meaning')
39
+
40
+ result.gsub!(/[\n\r]/, ' - ')
41
+
42
+ # Make sure it's not terribly long
43
+ result = Cinch::Toolbox.truncate(result, 250)
44
+ url = Cinch::Toolbox.shorten(ud_url(term))
45
+
46
+ debug result
47
+ "Urban Dictionary ∴ #{term}: #{result} [#{url}]"
48
+ end
49
+
50
+ def ud_url(term)
51
+ "http://www.urbandictionary.com/define.php?term=#{term}"
52
+ end
53
+ end
54
+ end
@@ -1,7 +1,9 @@
1
+ # -*- coding: utf-8 -*-
1
2
  module Cinch
2
3
  module Plugins
4
+ # Versioning Info
3
5
  class UrbanDict
4
- VERSION = "1.0.1"
6
+ VERSION = '1.0.2'
5
7
  end
6
8
  end
7
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-urbandict
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-21 00:00:00.000000000 Z
12
+ date: 2014-01-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -138,7 +138,7 @@ files:
138
138
  - Rakefile
139
139
  - cinch-urbandict.gemspec
140
140
  - lib/cinch-urbandict.rb
141
- - lib/cinch/plugins/urbandict/urbandict.rb
141
+ - lib/cinch/plugins/urbandict.rb
142
142
  - lib/cinch/plugins/urbandict/version.rb
143
143
  - spec/cinch-urbandict_spec.rb
144
144
  - spec/spec_helper.rb
@@ -1,46 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- require 'cinch'
3
- require 'cinch/cooldown'
4
- require 'cinch/toolbox'
5
-
6
- module Cinch::Plugins
7
- class UrbanDict
8
- include Cinch::Plugin
9
-
10
- enforce_cooldown
11
-
12
- self.help = "Use .ud <term> to see the Urban Dictionary definition for that term."
13
-
14
- match /ud (.*)/
15
-
16
- def execute(m, term)
17
- m.reply get_def(term), true
18
- end
19
-
20
- private
21
-
22
- def get_def(term)
23
- # URI Encode
24
- term = URI.escape(term, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
25
-
26
- url = "http://www.urbandictionary.com/define.php?term=#{term}"
27
-
28
- if Cinch::Toolbox.get_html_element(url, '#not_defined_yet')
29
- return "Urban Dictionary ∴ #{term}: No definition available."
30
- else
31
- # Grab the element
32
- result = Cinch::Toolbox.get_html_element(url, '.definition')
33
-
34
- result.gsub!(/[\n\r]/, ' - ')
35
-
36
- #Make sure it's not terribly long
37
- result = Cinch::Toolbox.truncate(result, 250)
38
- url = Cinch::Toolbox.shorten(url)
39
-
40
- return "Urban Dictionary ∴ #{term}: #{result} [#{url}]"
41
- end
42
- rescue NoMethodError
43
- debug "Caught a NoMethodError looking up #{term}"
44
- end
45
- end
46
- end