JavaScript Railsで使えるGem

Rubyでd3.jsのapiリファレンスの一覧を取得してくる~mechanize

投稿日:

 

d3.jsにはlayoutというおおまかに準備されたレイアウトがあって、その中にあるTreeレイアウトを試してみることにした

d3.js自身のapiリファレンスが階層構造になっているので、まずこれをMechanizeで取得してくる

 

 

これをサンプルを参考に次のようなJSON形式にする

nodeではh2、h3、ulはみな同じ階層なので、node.nextで順番にnode.nameを確認して、
h2なら、node.textを大分類に
h3なら、node.textを中分類に
ulなら、childrenをeachでまわして、child.textをtextにいれている

 

 

*たぶんもっと賢いRubyらしい方法があるはず

すなおにhtml(xml)からJSONに変換する方法が分からなかったので、またpryでだいたいのnodeの構造を把握して決め打ちで取り出している

そのうちMechanizeもよく勉強し直したい

これでmy.jsonという名前でd3.jsのapiリファレンスのjsonができた

*当面JSONの形式をあわせるためにliの要素名もtextからnameに改めた

-JavaScript, Railsで使えるGem
-,

執筆者:

関連記事

no image

Rails3.2でリアルタイムメッセージングサービスをherokuにデプロイしたよ〜private_pub,Faye

参考 Rails3.2でリアルタイムメッセージング~Private_pub、Faye さっそくherokuにあげてみた ブラウザを2つ起動して並べてみれば投稿した内容が即時にほかのブラウザに反映するの …

Rails3.2でユーザー管理機能を追加~Devise

  前回 Rails3.2のアプリにユーザー機能を追加する~Devise サインアップ機能を削除したので、Railsからのユーザー管理機能を追加した 目次1 generate2 routes …

Rails4で複雑な検索〜Ransack

By: eric molina – CC BY 2.0 株価データをつかって複雑な絞り込み検索ができるようにしてみた データは、こちらのサンプルを使わせていただいた datawarehou …

no image

Ubuntu Server12.04でPhantomjsを使ってヘッドレステスト環境をつくる~phantomjs+guard-jasmine

目次1 phantomjs2 guard-jasmine3 Foreman phantomjs phantomjsはブラウザがないようなサーバー環境でもjavascriptのテストをやってくれる #3 …

RailsでOAuthを使うには~OmniAuth

By: Freenerd – CC BY 2.0   github.com/intridea/omniauth   目次1 OmniAuthの受け持つ役割2 Rails …