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 +4 -4
- data/README.md +1 -1
- data/lib/collection_json_serializer/items.rb +7 -2
- data/lib/collection_json_serializer/version.rb +1 -1
- data/test/builder/builder_test.rb +15 -0
- data/test/fixtures/serializers/custom_item_links_serializer.rb +1 -1
- data/test/fixtures/serializers/user_serializer.rb +2 -1
- data/test/objects/item_test.rb +10 -13
- data/test/serializer/items/links_test.rb +5 -4
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 6811c3a7bee4b540353eb8e83e96e35db078c82b
         | 
| 4 | 
            +
              data.tar.gz: 530f2bc6a58306fc8adec20e958fd7b1756b34f2
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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 | 
            -
                 | 
| 56 | 
            +
                link avatar: { href: "http://assets.example.com/avatar.jpg", render: "image" }
         | 
| 57 57 | 
             
              end
         | 
| 58 58 | 
             
            end
         | 
| 59 59 | 
             
            ```
         | 
| @@ -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 | 
             
                            }
         | 
| @@ -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 | 
            -
                 | 
| 25 | 
            +
                link avatar: { href: "http://assets.example.com/avatar.jpg" }
         | 
| 26 | 
            +
                link bio: { href: "http://example.com/bio" }
         | 
| 26 27 | 
             
              end
         | 
| 27 28 | 
             
            end
         | 
    
        data/test/objects/item_test.rb
    CHANGED
    
    | @@ -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 =  | 
| 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  | 
| 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. | 
| 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- | 
| 11 | 
            +
            date: 2015-02-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activesupport
         |