contentful_bootstrap 3.9.0 → 3.9.1
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:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e58541eab6426bb8208b9b0c33244d1bea9d65fa
         | 
| 4 | 
            +
              data.tar.gz: d0e26fbf73b7e1c01e080eb1268dc90bab01cee0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 03150c56609259ab73f72026b0feaf962db95cb7b75066dc8166f03568b2022ff73111021bd23220ba3cd0291993d2b65826243d7ba56df906830aaa8fea2ec2
         | 
| 7 | 
            +
              data.tar.gz: 22f9528bb02b02b60ffa529df0623c156c1816b8bb8f26e7370bdb93f83284cdeed8c5c9e684c9aae93ccf233792ee065e516c920be6c06e487e721d5009807f
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -2,6 +2,10 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            ## Unreleased
         | 
| 4 4 |  | 
| 5 | 
            +
            ## v3.9.1
         | 
| 6 | 
            +
            ### Fixed
         | 
| 7 | 
            +
            * Fixed an issue in which assets save as `Contentful::Management::File` objects instead of as JSON when using `--mark-processed`.
         | 
| 8 | 
            +
             | 
| 5 9 | 
             
            ## v3.9.0
         | 
| 6 10 | 
             
            ### Fixed
         | 
| 7 11 | 
             
            * Fixed `quiet` not being forwarded properly to `generate_json` and `update_space`
         | 
| @@ -34,15 +34,18 @@ module Contentful | |
| 34 34 | 
             
                    def after_run
         | 
| 35 35 | 
             
                      return unless mark_processed?
         | 
| 36 36 |  | 
| 37 | 
            -
                       | 
| 37 | 
            +
                      # Re-parse JSON to avoid side effects from `Templates::Base`
         | 
| 38 | 
            +
                      @json = parse_json
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                      json.fetch(CONTENT_TYPES_KEY, []).each do |content_type|
         | 
| 38 41 | 
             
                        content_type[BOOTSTRAP_PROCCESSED_KEY] = true
         | 
| 39 42 | 
             
                      end
         | 
| 40 43 |  | 
| 41 | 
            -
                       | 
| 44 | 
            +
                      json.fetch(ASSETS_KEY, []).each do |asset|
         | 
| 42 45 | 
             
                        asset[BOOTSTRAP_PROCCESSED_KEY] = true
         | 
| 43 46 | 
             
                      end
         | 
| 44 47 |  | 
| 45 | 
            -
                       | 
| 48 | 
            +
                      json.fetch(ENTRIES_KEY, {}).each do |_content_type_name, entry_list|
         | 
| 46 49 | 
             
                        entry_list.each do |entry|
         | 
| 47 50 | 
             
                          if entry.key?(SYS_KEY)
         | 
| 48 51 | 
             
                            entry[SYS_KEY][BOOTSTRAP_PROCCESSED_KEY] = true
         | 
| @@ -55,8 +58,19 @@ module Contentful | |
| 55 58 | 
             
                      ::File.write(@file, JSON.pretty_generate(@json))
         | 
| 56 59 | 
             
                    end
         | 
| 57 60 |  | 
| 61 | 
            +
                    def json
         | 
| 62 | 
            +
                      @json ||= parse_json
         | 
| 63 | 
            +
                    end
         | 
| 64 | 
            +
             | 
| 58 65 | 
             
                    private
         | 
| 59 66 |  | 
| 67 | 
            +
                    def parse_json
         | 
| 68 | 
            +
                      ::JSON.parse(::File.read(@file))
         | 
| 69 | 
            +
                    rescue
         | 
| 70 | 
            +
                      output 'File is not JSON. Exiting!'
         | 
| 71 | 
            +
                      exit(1)
         | 
| 72 | 
            +
                    end
         | 
| 73 | 
            +
             | 
| 60 74 | 
             
                    def check_version
         | 
| 61 75 | 
             
                      json_version = json.fetch('version', 0)
         | 
| 62 76 | 
             
                      gem_major_version = Contentful::Bootstrap.major_version
         | 
| @@ -65,13 +79,6 @@ module Contentful | |
| 65 79 | 
             
                      end
         | 
| 66 80 | 
             
                    end
         | 
| 67 81 |  | 
| 68 | 
            -
                    def json
         | 
| 69 | 
            -
                      @json ||= ::JSON.parse(::File.read(@file))
         | 
| 70 | 
            -
                    rescue
         | 
| 71 | 
            -
                      output 'File is not JSON. Exiting!'
         | 
| 72 | 
            -
                      exit(1)
         | 
| 73 | 
            -
                    end
         | 
| 74 | 
            -
             | 
| 75 82 | 
             
                    def process_content_types
         | 
| 76 83 | 
             
                      processed_content_types = json.fetch(CONTENT_TYPES_KEY, [])
         | 
| 77 84 |  | 
| @@ -127,8 +134,8 @@ module Contentful | |
| 127 134 | 
             
                          processed_entry['id'] = entry[SYS_KEY]['id'] if entry.key?(SYS_KEY) && entry[SYS_KEY].key?('id')
         | 
| 128 135 |  | 
| 129 136 | 
             
                          entry.fetch('fields', {}).each do |field, value|
         | 
| 130 | 
            -
                            link_fields << field if  | 
| 131 | 
            -
                            array_fields << field if  | 
| 137 | 
            +
                            link_fields << field if link?(value)
         | 
| 138 | 
            +
                            array_fields << field if array?(value)
         | 
| 132 139 |  | 
| 133 140 | 
             
                            unless link_fields.include?(field) || array_fields.include?(field)
         | 
| 134 141 | 
             
                              processed_entry[field] = value
         | 
| @@ -141,7 +148,7 @@ module Contentful | |
| 141 148 |  | 
| 142 149 | 
             
                          array_fields.each do |af|
         | 
| 143 150 | 
             
                            processed_entry[af] = entry['fields'][af].map do |item|
         | 
| 144 | 
            -
                               | 
| 151 | 
            +
                              link?(item) ? create_link(item) : item
         | 
| 145 152 | 
             
                            end
         | 
| 146 153 | 
             
                          end
         | 
| 147 154 |  | 
| @@ -173,11 +180,11 @@ module Contentful | |
| 173 180 | 
             
                      @mark_processed
         | 
| 174 181 | 
             
                    end
         | 
| 175 182 |  | 
| 176 | 
            -
                    def  | 
| 183 | 
            +
                    def link?(value)
         | 
| 177 184 | 
             
                      value.is_a?(::Hash) && value.key?('id') && value.key?('linkType')
         | 
| 178 185 | 
             
                    end
         | 
| 179 186 |  | 
| 180 | 
            -
                    def  | 
| 187 | 
            +
                    def array?(value)
         | 
| 181 188 | 
             
                      value.is_a?(::Array)
         | 
| 182 189 | 
             
                    end
         | 
| 183 190 | 
             
                  end
         | 
| @@ -178,7 +178,50 @@ describe Contentful::Bootstrap::Templates::JsonTemplate do | |
| 178 178 | 
             
                  end
         | 
| 179 179 |  | 
| 180 180 | 
             
                  expect(subject).to receive(:after_run).and_call_original
         | 
| 181 | 
            -
             | 
| 181 | 
            +
             | 
| 182 | 
            +
                  expected = {
         | 
| 183 | 
            +
                    "version": 3,
         | 
| 184 | 
            +
                    "contentTypes": [
         | 
| 185 | 
            +
                      {
         | 
| 186 | 
            +
                        "id": "cat",
         | 
| 187 | 
            +
                        "name": "Cat",
         | 
| 188 | 
            +
                        "displayField": "name",
         | 
| 189 | 
            +
                        "fields": [
         | 
| 190 | 
            +
                          {
         | 
| 191 | 
            +
                            "id": "name",
         | 
| 192 | 
            +
                            "name": "Name",
         | 
| 193 | 
            +
                            "type": "Symbol"
         | 
| 194 | 
            +
                          }
         | 
| 195 | 
            +
                        ],
         | 
| 196 | 
            +
                        "bootstrapProcessed": true
         | 
| 197 | 
            +
                      }
         | 
| 198 | 
            +
                    ],
         | 
| 199 | 
            +
                    "assets": [
         | 
| 200 | 
            +
                      {
         | 
| 201 | 
            +
                        "id": "cat_asset",
         | 
| 202 | 
            +
                        "title": "Cat",
         | 
| 203 | 
            +
                        "file": {
         | 
| 204 | 
            +
                          "filename": "cat",
         | 
| 205 | 
            +
                          "url": "https://somecat.com/my_cat.jpeg"
         | 
| 206 | 
            +
                        },
         | 
| 207 | 
            +
                        "bootstrapProcessed": true
         | 
| 208 | 
            +
                      }
         | 
| 209 | 
            +
                    ],
         | 
| 210 | 
            +
                    "entries": {
         | 
| 211 | 
            +
                      "cat": [
         | 
| 212 | 
            +
                        {
         | 
| 213 | 
            +
                          "sys": {
         | 
| 214 | 
            +
                            "id": "nyancat",
         | 
| 215 | 
            +
                            "bootstrapProcessed": true
         | 
| 216 | 
            +
                          },
         | 
| 217 | 
            +
                          "fields": {
         | 
| 218 | 
            +
                            "name": "Nyan Cat"
         | 
| 219 | 
            +
                          }
         | 
| 220 | 
            +
                        }
         | 
| 221 | 
            +
                      ]
         | 
| 222 | 
            +
                    }
         | 
| 223 | 
            +
                  }
         | 
| 224 | 
            +
                  expect(::File).to receive(:write).with(path, JSON.pretty_generate(expected))
         | 
| 182 225 |  | 
| 183 226 | 
             
                  subject.run
         | 
| 184 227 | 
             
                end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: contentful_bootstrap
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3.9. | 
| 4 | 
            +
              version: 3.9.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - David Litvak Bruno
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017-11- | 
| 11 | 
            +
            date: 2017-11-16 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |