lib/xkcd.rb in xkcd-0.0.6 vs lib/xkcd.rb in xkcd-0.0.7
- old
+ new
@@ -1,8 +1,10 @@
#!/usr/bin/env ruby
require 'nokogiri'
require 'open-uri'
+require 'json'
+
# The main XKCD driver
class XKCD
# Get img/comic URL from xkcd
#
# Example:
@@ -17,13 +19,22 @@
end
class << XKCD
alias_method :get, :comic
end
-
+
+=begin
def self.img
img = Nokogiri::HTML(open('http://dynamic.xkcd.com/random/comic/')).css('#comic img')[0]
img_url = img.attributes["src"].value
img_title = img.attributes["title"].value
"#{img_title} : #{img_url}"
+ end
+=end
+ def self.img
+ max = JSON.parse(open('http://xkcd.com/info.0.json').read)["num"]
+ comic_num = Random.rand(max)
+ comic_num = 1 if comic_num == 404 # Avoid 404th comic ;)
+ comic = JSON.parse(open("http://xkcd.com/#{random_comic}/info.0.json").read)
+ "#{comic['alt']} : #{comic['img']}"
end
end