collection_json_serializer 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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