もふもふ技術部

Sinatra + Gracenote APIを使って画面に曲データを表示してみる


もふもふ部の部長、原田敦です。
肩こりがひどいので仕事を早めに切り上げて趣味プログラミングしてます!

今日は爆速でWEBアプリケーション開発出来るSinatraさんを使ってGracenote APIから取得した曲データを画面に表示してみます。

環境
Mac OSX Lion
Ruby 1.9.3

爆速WEBアプリケーションフレームワークのSinatra

Sinatraは5〜10分くらいですぐにブラウザ経由で動くアプリケーションのひな形が出来る超スグレモノです。

趣味プログラミングをするときとか、Railsアプリを作る前のプロトタイプ的な用途で非常に便利。

No Life! No Sinatra!!

さて。
ではいつものようにgemを入れますね。
sinatraさんは修正が入るたびに再起動しないと反映されないのですが、shotgunというgemを使えば即時反映されるようになります。ありがたや。

Gemfile

管理しやすいのでyaml形式の設定ファイルを外出しします。
Gracenote公式で取得できるIDに置き換えてください。

前々回のID取得時のエントリもあるので、必要なら参照のこと。
音楽APIのGracenote APIを叩いてperfumeを検索してみた

config.yml

検索フォームを置いたViewを作成します。
sinatraはerbも使えるので当然動的な値の表示もRails的な感じでかけます。

index.erb

実行するプログラムを書いていきます。
こんな感じでgetとかpost + 文字列でアクションを切り分けます。簡単ですね!

main.rb

実行してみましょう。

http://localhost:9393 にアクセスして表示を確認。
※sinatraは4567番ですが、shotgunにするとポートが変わりますので注意。
gracenote_01

検索するとこんな感じになります。
sinatraのサクサク感がハンパないよ!
gracenote_02

おまけ

検索時にSSLエラーが出て結構ハマりました。
rvm環境の人に発生するのかな?
対策の情報はWEB上に結構あるのですがどれも解決しなかったので、gracenoteのgemの方をちょこっとごにょごにょしてます。詳細は割愛。

The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。