carlesjove / collection_json_serializer

A Ruby gem to respond with Collection+JSON
MIT License
3 stars 1 forks source link

Add an item DSL #28

Closed carlesjove closed 9 years ago

carlesjove commented 9 years ago

This seems like a cleaner way of dealing with objects that can be either at the top-level or within items:

class UsersSerializer < CollectionJson::Serializer
  href "http://example.com/users"

  links dashboard: { href: "http://example.com/{username}" }

  queries search: {
      href: "http://example.com/search",
      name: false
  }, pagination: {
      rel: "page",
      href: "http://example.com/page",
      prompt: "Select a page number",
      data: [
        { name: "page" }
      ]
  }

  template :name, email: { prompt: "My email" }

  item do
    attributes :name, :email

    href "http://example.com/users/{id}"

    links settings: { href: "http://example.com/settings" }
  end
end
carlesjove commented 9 years ago

This is kind of a duplicate of #27 :sweat_smile: