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

Railsで使える便利なナビゲーション~simple-navigation

no image

Rubyでffmpegのラッパーを使う~streamio-ffmpeg

  github.com/streamio/streamio-ffmpeg rubyでffmpegが扱える高機能ラッパー 導入 [crayon-5d10963782f11704191685/ …

Rails3.2とBackbone.jsでサーバーサイドのソーティング

By: Haldane Martin – CC BY 2.0   Rails3.2とBackbone.jsでサーバーサイドのフィルタリング 次はソートを実装したい 目次1 サーバ …

1から学ぶReact-Redux

By: Ian Sane – CC BY 2.0 目次1 React-Reduxとは2 create-react-app3 電卓のロジック4 reactで電卓の外観を作る5 reduxでと …

Rails3.2でリアルタイムメッセージング~Private_pub、Faye

  Railsで簡単に非同期通信ができるPrivate_pubというgemを試した もともとrubyにはFayeという非同期通信ができるgemがあったが、簡単に安全な接続ができる実装を加えた …