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
-,

執筆者:

関連記事

RailsでECサイト構築4 確認メールを送る~spree

  spreeでは注文したときと発送したときにメールを送信できるように設定できるので、やってみた   目次1 設定2 翻訳 設定 管理画面から設定>メールシステムの設定から これで …

no image

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

  前回 Rails3.2でユーザー管理機能を追加~Devise 参照 Railsでajaxなテーブルを使う~datatables   いままでAjaxでのデータ更新ができなかった …

backbone-relationalをJasmineでテストしてみた

Rails3でテストカバレッジを計測する~simplecov,thin

    rspecなどのテストでテストがどの程度カバーしているのかを簡単に計測するsinplecovというgemをいれた 目次1 Gemfile & bundle2 spe …

Rails3.2でhtml5で取得した位置情報をAjaxで住所表示する~geocoder

    HTML5ではブラウザからユーザーのPCの位置情報を取得することができるGeoLocation APIというものがある (もちろんデフォルトではユーザーに確認をする設定にな …