ud 0.3.0 → 0.3.1

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
- SHA1:
3
- metadata.gz: be08bba53ec9677e2382c7221afbdbe86daeeb2b
4
- data.tar.gz: 2127476c4b657755e04cd5393a4bc58c852a6840
2
+ SHA256:
3
+ metadata.gz: da20a8c734f36a7a31f9a27c069390bde91207d30420f4dc90d1299c1cff6fc9
4
+ data.tar.gz: 4b2efbe5e2cc596e6da5b4cf35d757395946a2357c4d90921262da045b5f13d2
5
5
  SHA512:
6
- metadata.gz: ab2a0d140114d914a7a066219ad5e3fd2a93c8f20bb8be031900a779db2d4a5ba244f330b1d85e14a95134e7cc2213c1a8973e34f4a21f28d4dacb4234199452
7
- data.tar.gz: f421052deba0e6a06f163450d1d5871c85cc68a33dabdc4234ea855dbbb006571114d336621251e2b378a9329127ebfc6cd4eba636650b7146cca418a6a16b10
6
+ metadata.gz: b82fbc1da03bf072abebc2afad46c9e065f082741b92435afff61fd4949b070b9b9289523fc6a65da4bc0e9838bc7945a320e3d55d4888d3afa18f24f1ab08a0
7
+ data.tar.gz: 26e8d65aa79a1b76a021306a3a4cb7cfabedfec3385868fee5174f1585234a7570ba5c87bb779c04065bcdad235785d59ed987a4b48432a342f815a261abfd66
Binary file
data.tar.gz.sig CHANGED
Binary file
data/bin/ud CHANGED
@@ -4,10 +4,10 @@
4
4
  # clean interrupt
5
5
  trap("INT") { abort }
6
6
 
7
- require "trollop"
7
+ require "optimist"
8
8
  require "ud"
9
9
 
10
- opts = Trollop.options do
10
+ opts = Optimist.options do
11
11
  version "ud #{UD.version}"
12
12
  banner <<-EOS
13
13
  UD is a command-line tool to scrape definitions from the Urban Dictionary.
@@ -23,7 +23,7 @@ EOS
23
23
  opt :browser, "Open the results in a browser window", :short => "-b"
24
24
  end
25
25
 
26
- Trollop.die :count, "must be non-negative" if opts[:count] < 0
26
+ Optimist.die :count, "must be non-negative" if opts[:count] < 0
27
27
 
28
28
  if !opts[:random] && ARGV.empty?
29
29
  puts "Error: No word provided. Use -h or --help to see the help."
data/lib/ud.rb CHANGED
@@ -12,9 +12,12 @@ module UD
12
12
  class << self
13
13
  # @return [String] the current gem's version
14
14
  def version
15
- "0.3.0"
15
+ "0.3.1"
16
16
  end
17
17
 
18
+ API_ROOT = "https://api.urbandictionary.com/v0"
19
+ WWW_ROOT = "https://www.urbandictionary.com"
20
+
18
21
  # Get the search URL to query for a given term.
19
22
  # @param term [String] the term to search for. It must be a string, spaces
20
23
  # are allowed.
@@ -24,18 +27,19 @@ module UD
24
27
  param = URI.encode_www_form("term" => term)
25
28
 
26
29
  if opts[:api] != false
27
- "http://api.urbandictionary.com/v0/define?#{param}"
30
+ "#{API_ROOT}/define?#{param}"
28
31
  else
29
- "http://www.urbandictionary.com/define.php?#{param}"
32
+ "#{WWW_ROOT}/define.php?#{param}"
30
33
  end
31
34
  end
32
35
 
36
+ # Return a URL for a random definition.
33
37
  # @param opts [Hash] options.
34
38
  def random_url(opts = {})
35
39
  if opts[:api] != false
36
- "http://api.urbandictionary.com/v0/random"
40
+ "#{API_ROOT}/random"
37
41
  else
38
- "http://www.urbandictionary.com/random.php"
42
+ "#{WWW_ROOT}/random.php"
39
43
  end
40
44
  end
41
45
 
@@ -63,10 +67,13 @@ module UD
63
67
  parse_response(open(search_url(term)).read, opts)
64
68
  end
65
69
 
70
+ # Return a random definition
71
+ # @param opts [Hash] options.
66
72
  def random(opts = {})
67
73
  parse_response(open(random_url).read, opts)
68
74
  end
69
75
 
76
+ # Parse a response from the Urban Dictionnary website.
70
77
  # @param opts [Hash] options. This is used by the command-line tool.
71
78
  # +:count+ is the maximum number of results to return
72
79
  # @return [Array<Hash>]
@@ -11,7 +11,7 @@ module UD
11
11
  def fit(txt, width = 79)
12
12
  return [] if width < 1
13
13
 
14
- # from http://stackoverflow.com/a/7567210/735926
14
+ # from https://stackoverflow.com/a/7567210/735926
15
15
  r = /(.{1,#{width}})(?:\s|$)/m
16
16
  txt.split("\n").map { |l| l.scan(r) }.flatten
17
17
  end
@@ -5,15 +5,15 @@ require File.dirname(__FILE__) + '/fake_responses'
5
5
 
6
6
  class UD_Query_test < Test::Unit::TestCase
7
7
 
8
- API_URL = 'http://api.urbandictionary.com/v0/define'
9
- ROOT_URL = 'http://www.urbandictionary.com/define.php'
8
+ API_URL = 'https://api.urbandictionary.com/v0/define'
9
+ ROOT_URL = 'https://www.urbandictionary.com/define.php'
10
10
 
11
11
  def setup
12
12
  @foo, @bar = [
13
13
  {
14
14
  :id => 1,
15
15
  :author => 'a1',
16
- :permalink => 'http://example.com/1',
16
+ :permalink => 'https://example.com/1',
17
17
  :word => 'foo',
18
18
  :definition => 'A',
19
19
  :example => 'AA',
@@ -24,7 +24,7 @@ class UD_Query_test < Test::Unit::TestCase
24
24
  {
25
25
  :id => 2,
26
26
  :author => 'a2',
27
- :permalink => 'http://example.com/2',
27
+ :permalink => 'https://example.com/2',
28
28
  :word => 'bar',
29
29
  :definition => 'B',
30
30
  :example => 'BB',
@@ -59,7 +59,7 @@ class UD_Query_test < Test::Unit::TestCase
59
59
  # == UD#random_url == #
60
60
 
61
61
  def test_random_url
62
- assert_equal("http://api.urbandictionary.com/v0/random", UD.random_url)
62
+ assert_equal("https://api.urbandictionary.com/v0/random", UD.random_url)
63
63
  end
64
64
 
65
65
  # == UD#query == #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Baptiste Fontaine
@@ -10,56 +10,46 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA9MRAwDgYDVQQDDAdiYXRp
14
- Zm9uMRUwEwYKCZImiZPyLGQBGRYFeWFob28xEjAQBgoJkiaJk/IsZAEZFgJmcjAe
15
- Fw0xNTEyMjMwMTExMTZaFw0xNjEyMjIwMTExMTZaMD0xEDAOBgNVBAMMB2JhdGlm
16
- b24xFTATBgoJkiaJk/IsZAEZFgV5YWhvbzESMBAGCgmSJomT8ixkARkWAmZyMIIB
17
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0en8u9i10EQtkp3SUnXnXo0W
18
- UISZyvp2kS22c2/FXYg566dtfkp3pwBOZi3gvRYAKpmXAwbynOANdm2bfzQiG+Br
19
- 0966dfY0SIbFuhaueJ8JUm5o/nxxCiKxuvCFs5899SJxyzmD3NNVzjTdrSU6UTgx
20
- Q7K/r2MRYxBmPBbi8wdxyP1Ko36o9BJdLNrUiAVec1VXOlqA9Iw8CyrlG3V1snNl
21
- efNVzZ+sMCkR73IyxRRwRgPws2jo2/8LfKcL+J3mz4ekBs4PoyOCWCnPlpBjAwkx
22
- OzzDCjpxYbn/SYNHC8MxVdgap7jEX75ogkfpGOrAEdiPASnc2nFKqbJNxX7hCQID
23
- AQABo3MwcTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU2BKQg2pq
24
- izVT9CkLdQo+nHNlvpQwGwYDVR0RBBQwEoEQYmF0aWZvbkB5YWhvby5mcjAbBgNV
25
- HRIEFDASgRBiYXRpZm9uQHlhaG9vLmZyMA0GCSqGSIb3DQEBBQUAA4IBAQBkPKEW
26
- urPeZb+IHuqWMqpzL/42fU4QuVUYDswLq+V0tXwnHo+okAq00Xh0yr0OaDBvm0mW
27
- al9ZGC0RzaSQa+9mPd0t39oaWdtY7TOxQX3OC3vxdZ794gqyQgNxOmajFl22NY01
28
- vxMAeZOu+IC5s2pQyUG0Gsq2sRbquW1mj8OC8KI3WWcECqGFOIOdXYTsqVqhwcN1
29
- OpgZkC/pnOJanbP2ex2OHjlwFlpQ2PPAhoIG3mU1HEYXBZuP7+DUgNNgpopX83A5
30
- 0df+9hsqme8UngbwGqM1XgU4dUlXNaoHejAm/d9IrRPvqE2oFsS9ytHShth2bC43
31
- LPBfw/xSG5R4RjMC
13
+ MIIEPDCCAqSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAkMSIwIAYDVQQDDBliL0RD
14
+ PXB0aXN0ZWZvbnRhaW5lL0RDPWZyMB4XDTE4MTIwODAwMDU0MFoXDTE5MTIwODAw
15
+ MDU0MFowJDEiMCAGA1UEAwwZYi9EQz1wdGlzdGVmb250YWluZS9EQz1mcjCCAaIw
16
+ DQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKdjTwN/gnJ3WHxKeusaRN1o902Q
17
+ BmIRgdtbhpsHtgUruKNujutEBpmhG1fka8+mujhqh885blckeC8hXgqpHGK1MsJU
18
+ tgsNB2F2Nvof/uGBzi+OZ76HPLmfvJFb/KUiwrh08jTbFftMBCmuekbxBajt2N2F
19
+ shF6DFEqO2hl/itVt5UeIZhpIZvO7qSZ9FtLRXs0q2O27h4QfAv6XobNDwH5TBs5
20
+ z+EYufgTtupf26xW0v6z2NDG6z36Eap7QAwoivuPCuXO+IPgxhubtGvFYSo7ygP4
21
+ RbYsaGucRneCCzezTD+i1LnhGt9TCbQjdvidgM+i616JC/HRXglM0apgBZSjayoI
22
+ XHoajIajnU+570cu01Wsa+SF9m4stKao0hLnCUMeYybmA/Ilk58nJ2xZJWMULu76
23
+ 7Ttzead1Ah25ZdWefKG5FIGkpezEp4z/YihGEJt+hxS7Aa2xYiIlnYFwUno530/8
24
+ So5Ibqdd3pMKJDUQJvGIBhsQIXF4Iogk4txoPwIDAQABo3kwdzAJBgNVHRMEAjAA
25
+ MAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUsV1eKnEFtVRwyz6/nTuharH3G+UwHgYD
26
+ VR0RBBcwFYETYkBwdGlzdGVmb250YWluZS5mcjAeBgNVHRIEFzAVgRNiQHB0aXN0
27
+ ZWZvbnRhaW5lLmZyMA0GCSqGSIb3DQEBCwUAA4IBgQBm1mthI2xc/jfKApZigdhO
28
+ j2X3h5wnBKu/EPU1be0RuFigUGlZCMaM4S8nk5pBJxRv1FHUtR4utP7vcqEWGaE1
29
+ 9RklitOhNSXOeFfFukjUzZXFGUrcSe68BW9dh/KhIt84li13pdDLSNRmO0TzaRdb
30
+ G7ZRTVIhGqBCY3KJrMwrbjnOH/VK5XwO0hzFZ2/ClWeK+VuJ98bKWpiu2ZSHZCgK
31
+ nkcbCuzmx0/6UwqUhPEl4i+QLTVr8+Gk3jdxYSBBEUMXyNF6fPM6JJdIui/WjJIx
32
+ gtCh7AePlEbyxbx4d+oDvo/uzNFfHNNuI4TfkuBNDGLstPbJfyHgk7oPyfvD5dlO
33
+ yxO7L6A6ZNC1bI3P8tQq+qgDNpkRJ8pqynfF7DxMVOzvlhO5qhV23if7tYaRjqV5
34
+ T1ACML6wkYk8FexGDaL0txwG/y+b+3sHyUArpv8/rLGqpo+g2TYlqJhdwuA10W2k
35
+ H0Dpo4eQ8PCwqU7AgGTli19gHcox4Ne0O+6QaiB4eSw=
32
36
  -----END CERTIFICATE-----
33
- date: 2016-11-27 00:00:00.000000000 Z
37
+ date: 2018-12-08 00:00:00.000000000 Z
34
38
  dependencies:
35
39
  - !ruby/object:Gem::Dependency
36
- name: json
40
+ name: optimist
37
41
  requirement: !ruby/object:Gem::Requirement
38
42
  requirements:
39
43
  - - "~>"
40
44
  - !ruby/object:Gem::Version
41
- version: '1.8'
45
+ version: '3.0'
42
46
  type: :runtime
43
47
  prerelease: false
44
48
  version_requirements: !ruby/object:Gem::Requirement
45
49
  requirements:
46
50
  - - "~>"
47
51
  - !ruby/object:Gem::Version
48
- version: '1.8'
49
- - !ruby/object:Gem::Dependency
50
- name: trollop
51
- requirement: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - "~>"
54
- - !ruby/object:Gem::Version
55
- version: '2.1'
56
- type: :runtime
57
- prerelease: false
58
- version_requirements: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: '2.1'
52
+ version: '3.0'
63
53
  - !ruby/object:Gem::Dependency
64
54
  name: colored
65
55
  requirement: !ruby/object:Gem::Requirement
@@ -117,19 +107,19 @@ dependencies:
117
107
  - !ruby/object:Gem::Version
118
108
  version: '2.5'
119
109
  - !ruby/object:Gem::Dependency
120
- name: fakeweb
110
+ name: webmock
121
111
  requirement: !ruby/object:Gem::Requirement
122
112
  requirements:
123
113
  - - "~>"
124
114
  - !ruby/object:Gem::Version
125
- version: '1.3'
115
+ version: '3.4'
126
116
  type: :development
127
117
  prerelease: false
128
118
  version_requirements: !ruby/object:Gem::Requirement
129
119
  requirements:
130
120
  - - "~>"
131
121
  - !ruby/object:Gem::Version
132
- version: '1.3'
122
+ version: '3.4'
133
123
  - !ruby/object:Gem::Dependency
134
124
  name: coveralls
135
125
  requirement: !ruby/object:Gem::Requirement
@@ -145,7 +135,7 @@ dependencies:
145
135
  - !ruby/object:Gem::Version
146
136
  version: '0.7'
147
137
  description: Get words' definitions from Urban Dictionary on the command-line.
148
- email: batifon@yahoo.fr
138
+ email: b@ptistefontaine.fr
149
139
  executables:
150
140
  - ud
151
141
  extensions: []
@@ -177,12 +167,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
167
  version: '0'
178
168
  requirements: []
179
169
  rubyforge_project:
180
- rubygems_version: 2.5.2
170
+ rubygems_version: 2.7.7
181
171
  signing_key:
182
172
  specification_version: 4
183
173
  summary: Urban Dictionary unofficial scrapper
184
174
  test_files:
185
- - tests/formatting_tests.rb
186
- - tests/query_tests.rb
187
175
  - tests/tests.rb
188
- has_rdoc:
176
+ - tests/query_tests.rb
177
+ - tests/formatting_tests.rb
metadata.gz.sig CHANGED
Binary file