Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Rails Responder to generate an automagic JSON HAL representation for your models
Ruby JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
test
.gitignore
.rvmrc
.travis.yml
Gemfile
Gemfile.lock
MIT-LICENSE
README.md
Rakefile
hypermodel.gemspec

README.md

hypermodel Build Status Dependency Status

A Rails Responder that renders any Mongoid model to a JSON HAL format, suitable for Hypermedia APIs.

Install

Put this in your Gemfile:

gem 'hypermodel'

Usage

class PostsController < ApplicationController
  respond_to :json

  def show
    @post = Post.find params[:id]
    respond_with(@post, responder: Hypermodel::Responder)
  end
end

Now if you ask your API for a Post:

{"_id"=>"4fb648996b98c90919000012",
 "title"=>"My post",
 "body"=>"Foo bar baz.",
 "author_id"=>"4fb648996b98c9091900000f",
 "updated_at"=>"2012-05-18T13:03:21Z",
 "created_at"=>"2012-05-18T13:03:21Z",
 "_links"=>
  {"self"=>{"href"=>"http://test.host/posts/4fb648996b98c90919000012"},
   "author"=>{"href"=>"http://test.host/authors/4fb648996b98c9091900000f"},
   "reviews"=>
    {"href"=>"http://test.host/posts/4fb648996b98c90919000012/reviews"}},
 "_embedded"=>
  {"comments"=>
    [{"_id"=>"4fb648996b98c9091900000d", "body"=>"Comment 1"},
     {"_id"=>"4fb648996b98c9091900000e", "body"=>"Comment 2"}]}}

Contributing

  • List of hypermodel contributors

  • Fork the project.

  • Make your feature addition or bug fix.
  • Add specs for it. This is important so we don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. If you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull.
  • Send me a pull request. Bonus points for topic branches.

License

MIT License. Copyright 2012 Codegram Technologies

Something went wrong with that request. Please try again.