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

執筆者:

関連記事

多対多の関係でまだ関連を持っていない候補を探す〜active_record、pluck、not in

By: Kevin Dooley – CC BY 2.0 目次1 前提2 やりたいこと3 解4 解説 前提 PersonとProjectは、ProjectsPersonという中間モデル(テ …

no image

CarrierWaveのファイルをpublic以外に移す

  参照 How To: Secure Upload 現状でCarrierWaveのファイルがpublicという公開フォルダに置かれるのが気になったので調べてみた 違ってるかもしれないので自 …

SimpleCovのカバレッジをvimに表示させる~simplecov-vim

      github.com/nyarly/Simplecov-Vim 参照 Rails3でテストカバレッジを計測する~simplecov,thin 自分のgem上の …

no image

Rails3.2でユーザー権限を細かく設定~Devise + cancan

      参考 cancan でモテカワ♥愛され権限管理 How To: Integrate with CanCan for roles management &nbs …

RailsにTwitter Bootstrapを設定する~twitter-bootstrap-rails

環境 ruby 1.9.3  & rails 3.2.8 適当なscaffoldを作っておく

  github.co …