collection_json_serializer 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a43d5f7a36d702aceb4fd3bdd71ff86da64e027c
4
- data.tar.gz: 12b188b39d695b9e1edbef6cc7285b3990a7c572
3
+ metadata.gz: 6811c3a7bee4b540353eb8e83e96e35db078c82b
4
+ data.tar.gz: 530f2bc6a58306fc8adec20e958fd7b1756b34f2
5
5
  SHA512:
6
- metadata.gz: 48434f77b5c372f61c7b4919c1389fc85e10e3e834a0a8f17ae1594d77af316c2b5d4af5e1c5e2ff4201db2d4a8e5e2215e34c3bcaa0bf695c395630c28e8ef9
7
- data.tar.gz: ad03089d4119b6e799274cba090f4d5e6909553ad12e49347b48220607ca188ef8275521ca80caf0448345580faeafe2cf12813c07d45a917168833d30cba57e
6
+ metadata.gz: e1f9bb02f7eb13fedad488e22ed9e866b5af59903a5371b299a8d690bf162b4243380b92e399a8813ff24549d13528790e3b158e08d0959f2a94ce5af08ee842
7
+ data.tar.gz: b1353daa7e36427ba993e1da82f581cce695ee6031091f4838a7380d2ddab1eefa46320af57b7648544f0c5856dc0006c13e1fc9d188924fa3fd32d787b79821
data/README.md CHANGED
@@ -53,7 +53,7 @@ class UserSerializer < CollectionJson::Serializer
53
53
  item do
54
54
  attributes :id, name: { prompt: "Your full name" }, :email
55
55
  href "http://example.com/users/{id}"
56
- links avatar: { href: "http://assets.example.com/avatar.jpg", render: "image" }
56
+ link avatar: { href: "http://assets.example.com/avatar.jpg", render: "image" }
57
57
  end
58
58
  end
59
59
  ```
@@ -18,8 +18,13 @@ module CollectionJson
18
18
  @attributes ||= args
19
19
  end
20
20
 
21
- def links(*args)
22
- @links ||= args
21
+ def link(args)
22
+ @links = Array.new unless @links.is_a?(Array)
23
+ @links << args
24
+ end
25
+
26
+ def links
27
+ @links
23
28
  end
24
29
 
25
30
  def href?
@@ -1,5 +1,5 @@
1
1
  module CollectionJson
2
2
  class Serializer
3
- VERSION = "0.3.3"
3
+ VERSION = "0.3.4"
4
4
  end
5
5
  end
@@ -36,6 +36,11 @@ module CollectionJson
36
36
  rel: "avatar",
37
37
  href: "http://assets.example.com/avatar.jpg",
38
38
  name: "avatar"
39
+ },
40
+ {
41
+ rel: "bio",
42
+ href: "http://example.com/bio",
43
+ name: "bio"
39
44
  }
40
45
  ]
41
46
  }
@@ -101,6 +106,11 @@ module CollectionJson
101
106
  rel: "avatar",
102
107
  href: "http://assets.example.com/avatar.jpg",
103
108
  name: "avatar"
109
+ },
110
+ {
111
+ rel: "bio",
112
+ href: "http://example.com/bio",
113
+ name: "bio"
104
114
  }
105
115
  ]
106
116
  },
@@ -121,6 +131,11 @@ module CollectionJson
121
131
  rel: "avatar",
122
132
  href: "http://assets.example.com/avatar.jpg",
123
133
  name: "avatar"
134
+ },
135
+ {
136
+ rel: "bio",
137
+ href: "http://example.com/bio",
138
+ name: "bio"
124
139
  }
125
140
  ]
126
141
  }
@@ -1,6 +1,6 @@
1
1
  class CustomItemLinksSerializer < CollectionJson::Serializer
2
2
  items do
3
- links dashboard: {
3
+ link dashboard: {
4
4
  href: "/my-dashboard",
5
5
  anything: "at all",
6
6
  whatever: "really"
@@ -22,6 +22,7 @@ class UserSerializer < CollectionJson::Serializer
22
22
  items do
23
23
  href "http://example.com/users/{id}"
24
24
  attributes :name, :email
25
- links avatar: { href: "http://assets.example.com/avatar.jpg" }
25
+ link avatar: { href: "http://assets.example.com/avatar.jpg" }
26
+ link bio: { href: "http://example.com/bio" }
26
27
  end
27
28
  end
@@ -14,19 +14,6 @@ module CollectionJson
14
14
  @item = Item.new(@user_serializer)
15
15
  end
16
16
 
17
- def test_that_rel_will_be_added_from_the_name_when_missing
18
- serializer = empty_serializer_for(@user1)
19
- serializer.items.attributes = [:name]
20
- serializer.items.links = [avatar: {
21
- href: "http://assets.example.com/avatar.jpg"
22
- }]
23
- item = Item.new(serializer)
24
- actual = item.create[:links].first
25
-
26
- assert actual.include? :rel
27
- assert_equal "avatar", actual[:rel]
28
- end
29
-
30
17
  def test_that_an_item_can_be_build
31
18
  expected = {
32
19
  href: "http://example.com/users/#{@user1.id}",
@@ -39,6 +26,11 @@ module CollectionJson
39
26
  rel: "avatar",
40
27
  href: "http://assets.example.com/avatar.jpg",
41
28
  name: "avatar"
29
+ },
30
+ {
31
+ rel: "bio",
32
+ href: "http://example.com/bio",
33
+ name: "bio"
42
34
  }
43
35
  ]
44
36
  }
@@ -61,6 +53,11 @@ module CollectionJson
61
53
  rel: "avatar",
62
54
  href: "http://assets.example.com/avatar.jpg",
63
55
  name: "avatar"
56
+ },
57
+ {
58
+ rel: "bio",
59
+ href: "http://example.com/bio",
60
+ name: "bio"
64
61
  }
65
62
  ]
66
63
  }
@@ -9,11 +9,12 @@ module CollectionJson
9
9
  end
10
10
 
11
11
  def test_links_properties
12
- expected = { avatar: {
13
- href: "http://assets.example.com/avatar.jpg"
14
- } }
12
+ expected = [
13
+ { avatar: { href: "http://assets.example.com/avatar.jpg" } },
14
+ { bio: { href: "http://example.com/bio" } }
15
+ ]
15
16
 
16
- assert_equal [expected], @user_serializer.items.links
17
+ assert_equal expected, @user_serializer.items.links
17
18
  end
18
19
  end
19
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: collection_json_serializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carles Jove i Buxeda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-26 00:00:00.000000000 Z
11
+ date: 2015-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport