restpack_serializer 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZWM1YTg1ZWIyMWJmNjFlNDgyMTY0YWRkN2JkMzdiMzIyMTNkOTY3MQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ODQ4NTZjYzljZDBjNjllNjAyOGFlYzA1YjM5ODgwMzM3YjczODlhYQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MzRlMGQzOWFkMmRjYzI0Y2VmZDk0NTcyMzc4NTllOTM2ODk5OGU5MGJlZGFi
|
10
|
+
OTQ1MGQxNDIwMDdkZDQ1MzEyNWMwMWQyYjE2NmMwMDRhOGE3MWE5N2JhOTVh
|
11
|
+
ZGI1M2VjOTc4NmQ1ODJhMjU0YmY3YzlmMzY1N2E3OWIwZGRjNTY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ODBlYzFkNDJiYjIxODk1OThhMTM5YWVlOTgwZGViZDBkMDIzMjJhOWVjNTk0
|
14
|
+
ODNmZWU1NWJmYWU3MGY3MmUyMDQzMjkwN2RmNDk0NWJiMDZlZjUyMGM4MzQ5
|
15
|
+
ZDE3ZGNhNGQ5Mjk3ZWU0YWY4ZjdhNzY2NjkwMDFiMTM3MDhjNWI=
|
data/Gemfile.lock
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
module RestPack::Serializer::Attributes
|
2
2
|
extend ActiveSupport::Concern
|
3
3
|
|
4
|
+
module InstanceMethods
|
5
|
+
def default_href
|
6
|
+
"#{RestPack::Serializer.href_prefix}/#{@model.class.table_name}/#{@model.id}.json"
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
4
10
|
module ClassMethods
|
5
11
|
def serializable_attributes
|
6
12
|
@serializable_attributes
|
@@ -23,7 +29,8 @@ module RestPack::Serializer::Attributes
|
|
23
29
|
def define_attribute_method(name)
|
24
30
|
unless method_defined?(name)
|
25
31
|
define_method name do
|
26
|
-
value =
|
32
|
+
value = self.default_href if name == :href
|
33
|
+
value ||= @model.send(name)
|
27
34
|
value = value.to_s if name == :id
|
28
35
|
value
|
29
36
|
end
|
@@ -29,10 +29,10 @@ describe RestPack::Serializer do
|
|
29
29
|
|
30
30
|
class PersonSerializer
|
31
31
|
include RestPack::Serializer
|
32
|
-
attributes :id, :name, :
|
32
|
+
attributes :id, :name, :description, :href, :admin_info
|
33
33
|
|
34
|
-
def
|
35
|
-
"
|
34
|
+
def description
|
35
|
+
"This is person ##{id}"
|
36
36
|
end
|
37
37
|
|
38
38
|
def admin_info
|
@@ -47,14 +47,14 @@ describe RestPack::Serializer do
|
|
47
47
|
describe ".as_json" do
|
48
48
|
it "serializes specified attributes" do
|
49
49
|
serializer.as_json(person).should == {
|
50
|
-
id: '123', name: 'Gavin',
|
50
|
+
id: '123', name: 'Gavin', description: 'This is person #123', href: '/people/123.json'
|
51
51
|
}
|
52
52
|
end
|
53
53
|
|
54
54
|
context "with options" do
|
55
55
|
it "excludes specified attributes" do
|
56
|
-
serializer.as_json(person, {
|
57
|
-
id: '123', name: 'Gavin'
|
56
|
+
serializer.as_json(person, { include_description?: false }).should == {
|
57
|
+
id: '123', name: 'Gavin', href: '/people/123.json'
|
58
58
|
}
|
59
59
|
end
|
60
60
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restpack_serializer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Joyce
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-05-
|
11
|
+
date: 2013-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|