Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge pull request #14 from banyan/add-ruby-hacking-guide

add script for "Rubyソースコード完全解説 (Ruby Hacking Guide)"
  • Loading branch information...
commit 020eac883e1f0e402665cc72b5364a19330ac81e 2 parents 1a856aa + 4febf91
@mizzy authored
Showing with 30 additions and 0 deletions.
  1. +30 −0 misc/ruby_hacking_guide.rb
View
30 misc/ruby_hacking_guide.rb
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+%w(uri json nokogiri curb cgi).each {|g| require g }
+
+root = 'http://i.loveruby.net/ja/rhg/book/'
+book = {
+ :title => 'Rubyソースコード完全解説',
+ :authors => [ 'Minero Aoki' ],
+ :cover_image => 'http://direct.ips.co.jp/directsys/Images/Goods/1/1721B.gif',
+ :content_xpath => '//body',
+ :chapters => []
+}
+
+def curl(url)
+ c = Curl::Easy.new(url.to_s)
+ c.follow_location = true
+ c.perform
+ c.body_str
+end
+
+doc = Nokogiri::HTML(curl(root))
+doc.xpath('//ul/li/a').each do |a|
+ chapter_url = URI(root) + a[:href]
+ chapter = {
+ :uri => chapter_url,
+ :title => a.text,
+ }
+ book[:chapters] << chapter
+end
+
+puts JSON.pretty_generate(book)
Please sign in to comment.
Something went wrong with that request. Please try again.