jok 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/jok/joke_factory.rb +17 -3
- data/lib/jok/version.rb +1 -1
- data/test/jok_test.rb +6 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c401ed8b4203e250af4792edff27e709d5aaf439
|
4
|
+
data.tar.gz: 4a9bccbc21e431fc54468b8fcc03f97b04c0f3d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 501e0f5fd2db69621358614dcf4f10ff249c1bd4e3a256bd1866da9b562a61ad8c6b27155c42d59740b2c221323817e970aa9b982863d3eddaa101968afa91cd
|
7
|
+
data.tar.gz: 3bc40078846771031973af0bfede8bb117da117e6eb1d95c4dce57684528e3c3dd3c07bbdb044c588b1be0fd8e56b3770b5fb6802bb632af30f3c8058af4a7fe
|
data/README.md
CHANGED
data/lib/jok/joke_factory.rb
CHANGED
@@ -38,12 +38,26 @@ module Jok
|
|
38
38
|
private
|
39
39
|
|
40
40
|
def dom(method="")
|
41
|
-
|
42
|
-
|
41
|
+
topic = "#{BASE_URI}/#{method.gsub("_", "-")}"
|
42
|
+
response_body = HTTParty.get(topic)
|
43
|
+
dom_tree = Nokogiri::HTML(response_body)
|
44
|
+
|
45
|
+
return dom_tree if method == ""
|
46
|
+
|
47
|
+
pagination_items = dom_tree.xpath('//div[@class="pagination"]/ul/li').map(&:text).map(&:strip)
|
48
|
+
|
49
|
+
if pagination_items.length > 0
|
50
|
+
selected_item = pagination_items[srand % (pagination_items.length - 1)]
|
51
|
+
|
52
|
+
response_body = HTTParty::get("#{topic}/#{selected_item}")
|
53
|
+
Nokogiri::HTML(response_body)
|
54
|
+
else
|
55
|
+
dom_tree
|
56
|
+
end
|
43
57
|
end
|
44
58
|
|
45
59
|
def joke(topic="")
|
46
|
-
dom(topic).xpath('//div[@class="joke3-pop-box"]/p').map(&:text).map(&:strip)
|
60
|
+
dom(topic).xpath('//div[@class="joke3-pop-box"]/p[substring-before(@id, "_") = "joke"]').map(&:text).map(&:strip)
|
47
61
|
end
|
48
62
|
end
|
49
63
|
end
|
data/lib/jok/version.rb
CHANGED
data/test/jok_test.rb
CHANGED