日本からのEMSの配送手数料を算出するGemを作りました
2016-10-11 08:05:54 +0900
概要
重量を引数(現状はグラムの単位のみをサポートしています。)にして、 EMSの各種配送エリアへの配送手数料を算出するGemを作りました。
jp_ems_fee | RubyGems.org | your community gem host
JpEmsFee.asia(100) => 1200 JpEmsFee.oceania(30000) => 36500
配送手数料について
なお、配送手数料については
上記サイトから、クローラーを使用してyamlファイルを生成して、参照しています。
少し工夫したこと
まず郵便局の公式サイトから料金データのyamlを作成するクローラーをまず作成することにして、 EMSの料金表に更新があってもある程度の速度で追いつくことができるようにはしています。
今は手動でクローラーを実行していますが、 今後はCircle CI or Travis CI経由でyamlの生成クローラーを自動で回すことができるようにしたいですね。 :)
あとはholiday_jpを参考にして、 yamlをGitのSubmoduleで参照できるようにしておけば他の言語での実装も容易になりそうです。
参考記事: http://docs.komagata.org/5401
クローラーはyamlファイル単体共々、後々公開する予定です。 また、JSでyamlを取り扱うのは少々面倒な気がするので、JSON形式でのデータも作成する予定でいます。
今後について
ぶっちゃけプロダクションではまだ使ってないです。(使う機会があるかと思いきやまだ無い。) これを使用するライブラリを作る予定なので、そのときには使うかと思います。
このライブラリを色々な言語のFizzBuzz的な代わりにしようかと検討してて、 色々な言語のサポートを予定しています。(サポートって言うほどやる実装なんかないじゃん。というツッコミはなしで)
もちろん、代わりに作ってメンテしてくれる方がいればとてもありがたいです。 :)
直近ではライブラリの公開にも慣れてるphpでの公開を目論んでいます。
言語が増えてきたら、Organizationも作るのかな…?という感じです。