MotionResource
This is a library for using JSON APIs in RubyMotion apps. It is based on RemoteModel, however it is an almost complete rewrite. Also, it is inspired by ActiveResource.
Installation
Add MotionResource to your Gemfile, like this:
gem "motion-resource"
Example
Consider this example for a fictional blog API.
class User < MotionResource::Base
attr_accessor :id
has_many :posts
self.collection_url = "users"
self.member_url = "users/:id"
end
class Post < MotionResource::Base
attr_accessor :id, :user_id, :title, :text
belongs_to :user
self.collection_url = "users/:user_id/posts"
self.member_url = "users/:user_id/posts/:id"
end
Now, we can access a user's posts like that:
User.find(1) do |user|
user.posts do |posts|
puts posts.inspect
end
end
Note that the blocks are called asynchronously.
Setup
You can configure every model separately; however you will most likely want to configure things like the root_url the same for every model:
MotionResource::Base.root_url = "http://localhost:3000/"
Don't forget the trailing '/' here!
Forking
Feel free to fork and submit pull requests!