Remove url options

Removing url options because It does not works at all.
Thus, there are others PR at the moment to include url(links) as well.
This commit is contained in:
Bruno Bacarini 2015-09-07 12:13:19 -03:00
parent f149e5084b
commit 8634503849
5 changed files with 0 additions and 55 deletions

View File

@ -36,8 +36,6 @@ class PostSerializer < ActiveModel::Serializer
attributes :title, :body
has_many :comments
url :post
end
```
@ -48,8 +46,6 @@ class CommentSerializer < ActiveModel::Serializer
attributes :name, :body
belongs_to :post
url [:post, :comment]
end
```
@ -239,8 +235,6 @@ class PostSerializer < ActiveModel::Serializer
has_many :comments
has_one :author
url :post
end
```
@ -251,8 +245,6 @@ class CommentSerializer < ActiveModel::Serializer
attributes :name, :body
belongs_to :post_id
url [:post, :comment]
end
```
@ -274,8 +266,6 @@ And you can change the JSON key that the serializer should use for a particular
has_many :comments, key: :reviews
```
The `url` declaration describes which named routes to use while generating URLs
for your JSON. Not every adapter will require URLs.
## Pagination
Pagination links will be included in your response automatically as long as the resource is paginated using [Kaminari](https://github.com/amatsuda/kaminari) or [WillPaginate](https://github.com/mislav/will_paginate) and if you are using a ```JSON-API``` adapter.
@ -307,8 +297,6 @@ class PostSerializer < ActiveModel::Serializer
attributes :title, :body
has_many :comments
url :post
end
```
@ -332,8 +320,6 @@ class PostSerializer < ActiveModel::Serializer
attributes :title, :body
has_many :comments
url :post
end
```

View File

@ -31,7 +31,6 @@ module ActiveModel
class << self
attr_accessor :_attributes
attr_accessor :_attributes_keys
attr_accessor :_urls
attr_accessor :_cache
attr_accessor :_fragmented
attr_accessor :_cache_key
@ -44,7 +43,6 @@ module ActiveModel
def self.inherited(base)
base._attributes = self._attributes.try(:dup) || []
base._attributes_keys = self._attributes_keys.try(:dup) || {}
base._urls = []
base._cache_digest = digest_caller_file(caller.first)
super
end
@ -86,14 +84,6 @@ module ActiveModel
@_cache_options = (options.empty?) ? nil : options
end
def self.url(attr)
@_urls.push attr
end
def self.urls(*attrs)
@_urls.concat attrs
end
def self.serializer_for(resource, options = {})
if resource.respond_to?(:serializer_class)
resource.serializer_class

View File

@ -40,7 +40,6 @@ module ARModels
has_many :comments
belongs_to :author
url :comments
end
class CommentSerializer < ActiveModel::Serializer

View File

@ -59,8 +59,6 @@ end
class ProfileSerializer < ActiveModel::Serializer
attributes :name, :description
urls :posts, :comments
def arguments_passed_in?
options[:my_options] == :accessible
end
@ -68,8 +66,6 @@ end
class ProfilePreviewSerializer < ActiveModel::Serializer
attributes :name
urls :posts, :comments
end
Post = Class.new(Model)
@ -100,7 +96,6 @@ PostSerializer = Class.new(ActiveModel::Serializer) do
has_many :comments
belongs_to :blog
belongs_to :author
url :comments
def blog
Blog.new(id: 999, name: 'Custom blog')

View File

@ -1,25 +0,0 @@
require 'test_helper'
module ActiveModel
class Serializer
class UrlsTest < Minitest::Test
def setup
@profile = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
@post = Post.new({ title: 'New Post', body: 'Body' })
@comment = Comment.new({ id: 1, body: 'ZOMG A COMMENT' })
@post.comments = [@comment]
@profile_serializer = ProfileSerializer.new(@profile)
@post_serializer = PostSerializer.new(@post)
end
def test_urls_definition
assert_equal([:posts, :comments], @profile_serializer.class._urls)
end
def test_url_definition
assert_equal([:comments], @post_serializer.class._urls)
end
end
end
end