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

Ubuntu12.04.1でCoffeeScriptの自動makeとブラウザの自動リロード~guard-coffeescript

  github.com/guard/guard github.com/guard/guard-livereload 目次1 自動make2 ブラウザの自動更新 自動make guardの準 …

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

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

市場テクニカル分析ライブラリta-libとruby用のラッパーruby-talibをインストールする

By: Ponzi_Unit – CC BY 2.0 目次1 ta-lib2 talib_ruby ta-lib ta-libは市場のテクニカル分析用のライブラリ集. macであればHom …

Rails3.2のアプリにユーザー機能を追加する~Devise

By: Ethan Lofton – CC BY 2.0 目次1 はじめに2 インストール3 次にやること4 メッセージを日本語化する5 デバイスモデルにカラムを追加6 サインアップできな …

Rails4でのJavaScriptのユニットテスト~jasminerice&guard-jasmine

By: sk_vel – CC BY 2.0 Rails3.2でJasmineをつかってCoffeeScriptをテスト~jasminerice 目次1 環境2 Gemfile3 gene …