2008.03.03

Ruby Rails

JpAddressアップデート&ドキュメント作成

この土日は、JpAddressにGeocode取得メソッド、GoogleMaps検索結果URL生成メソッド、HTTP経由のDBアップデート用Rakeタスクを追加しました。

また、RDocを使って、JpAddressのドキュメントも用意しました。

JpAddress RDoc Documentation

RubyforgeのSVNレポジトリも整理して、ようやくちゃんとプロジェクトっぽくなった気がします。

gem化は、rakeタスクの登録にRailsアプリ内のRakefileを編集しなければならないっぽいので、しばらく放置。

また0で始まる数値が8進数として扱われ、意図した処理を行えない為、引数としてFixnum型で郵便番号を受け取った場合には、nilを返すようにしています。

ただし、「0ではじまりかつ9が含まれる郵便番号」をFixnumで受け取った場合は、以下のようなエラーが出ます...orz

>> JpAddress[0640941]
SyntaxError: compile error
(irb):1: syntax error, unexpected tINTEGER, expecting ']'

この辺り、スマートな解決策は無いものでしょうか?
下記の処理方法が分かれば解決なのですが...

  • 与えられた数値が8進数か10進数かを判定する
  • 9を含む8進数でSyntaxErrorを出さずに文字列化する

あと、現在はGeocode取得にAPIを利用し毎回HTTP経由でデータを取得しているのですが、ここはできればGeocode情報をDBに入れてしまいたいです。Geocodeと郵便番号が結びついたデータソースを探索中。