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