しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

active-rest-clientというGemでAPIを叩いてみる

RailsからAPIを叩くためにactive-rest-clientというGemを使ってみました。
使い勝手はActiveResourceに近いものでした。

github.com

インストールはいつものようにBundlerを使います。

gem 'active_rest_client'

データ取得/更新の為には、下記のようにModelを作成します。

class User < ActiveRestClient::Base
  base_url 'http://localhost:3000'

  get :all, "/users"
  get :find, "/users/:id"
  post :create, "/users"
end

実際に取得/更新する処理は下記の通りです。

User.all # → GET http://localhost:3000/users
User.find(1) # → GET http://localhost:3000/users/1
User.find(id: 1) # → GET http://localhost:3000/users/1
User.create(name: "AAA") # → POST http://localhost:3000/users

JSONレスポンスを自動的にプロパティーにセットしてくれます。

user = User.find(1) # レスポンス…{id: 1, name: 'john', tags: [1, 2, 3]}
user.id # → 1
user.name # → john
user.tags # → [1, 2, 3]

引数にハッシュを渡す事でパラメータを付けれます。

User.find(id: 1, page: 1, limit: 10) # → GET http://localhost:3000/users/1?page=1&limit=10