resync-client 0.4.5 → 0.4.6
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/.rubocop.yml +0 -4
- data/.ruby-version +1 -1
- data/CHANGES.md +7 -0
- data/Rakefile +4 -4
- data/lib/resync/client/http_helper.rb +3 -3
- data/lib/resync/client/mixins/downloadable.rb +2 -2
- data/lib/resync/client/version.rb +1 -1
- data/lib/resync/client/zip/bitstream.rb +3 -3
- data/lib/resync/client/zip/zip_package.rb +1 -1
- data/resync-client.gemspec +5 -4
- data/spec/.rubocop.yml +13 -0
- data/spec/rspec_custom_matchers.rb +3 -6
- data/spec/unit/resync/client/change_dump_index_spec.rb +2 -1
- data/spec/unit/resync/client/change_dump_spec.rb +9 -3
- data/spec/unit/resync/client/dump_spec.rb +2 -2
- metadata +12 -11
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e80e1bb83812f0b30e430a3acda5190b8dfefda9
         | 
| 4 | 
            +
              data.tar.gz: 8711fbe32e6148e47e907a42872b697cb0f2270c
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: c22c1d4221cff5e30392ce2cc4cca0f1f9dcdd40d128065ba72a1fbabd0439fa9d64be8f0b4c5b34a3e4c7c5561702a5ac537769271f7c05f4bb0f86218af0d6
         | 
| 7 | 
            +
              data.tar.gz: cc49a1e20af322c80b260698464234e6578ec201e9c0728b4ecbd649c5a5d8d43b5653aa2c59405dcd21454a7b04e26e2e16fa69c1971b9954e8011d4399c02e
         | 
    
        data/.rubocop.yml
    CHANGED
    
    | @@ -17,7 +17,3 @@ Style/EmptyLinesAroundModuleBody: | |
| 17 17 | 
             
            # Allow one line around block body (Style/EmptyLines will still disallow two or more)
         | 
| 18 18 | 
             
            Style/EmptyLinesAroundBlockBody:
         | 
| 19 19 | 
             
              Enabled: false
         | 
| 20 | 
            -
             | 
| 21 | 
            -
            # Allow %r notation for regexes with a single / character
         | 
| 22 | 
            -
            Style/RegexpLiteral:
         | 
| 23 | 
            -
              MaxSlashes: 0
         | 
    
        data/.ruby-version
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            2.2. | 
| 1 | 
            +
            2.2.5
         | 
    
        data/CHANGES.md
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | @@ -8,18 +8,18 @@ namespace :spec do | |
| 8 8 |  | 
| 9 9 | 
             
              desc 'Run all unit tests'
         | 
| 10 10 | 
             
              RSpec::Core::RakeTask.new(:unit) do |task|
         | 
| 11 | 
            -
                task.rspec_opts = %w | 
| 11 | 
            +
                task.rspec_opts = %w[--color --format documentation --order default]
         | 
| 12 12 | 
             
                task.pattern = 'unit/**/*_spec.rb'
         | 
| 13 13 | 
             
              end
         | 
| 14 14 |  | 
| 15 15 | 
             
              desc 'Run all acceptance tests'
         | 
| 16 16 | 
             
              RSpec::Core::RakeTask.new(:acceptance) do |task|
         | 
| 17 17 | 
             
                ENV['COVERAGE'] = nil
         | 
| 18 | 
            -
                task.rspec_opts = %w | 
| 18 | 
            +
                task.rspec_opts = %w[--color --format documentation --order default]
         | 
| 19 19 | 
             
                task.pattern = 'acceptance/**/*_spec.rb'
         | 
| 20 20 | 
             
              end
         | 
| 21 21 |  | 
| 22 | 
            -
              task all: [ | 
| 22 | 
            +
              task all: %i[unit acceptance]
         | 
| 23 23 | 
             
            end
         | 
| 24 24 |  | 
| 25 25 | 
             
            desc 'Run all tests'
         | 
| @@ -45,7 +45,7 @@ RuboCop::RakeTask.new | |
| 45 45 |  | 
| 46 46 | 
             
            desc 'List TODOs (from spec/todo.rb)'
         | 
| 47 47 | 
             
            RSpec::Core::RakeTask.new(:todo) do |task|
         | 
| 48 | 
            -
              task.rspec_opts = %w | 
| 48 | 
            +
              task.rspec_opts = %w[--color --format documentation --order default]
         | 
| 49 49 | 
             
              task.pattern = 'todo.rb'
         | 
| 50 50 | 
             
            end
         | 
| 51 51 |  | 
| @@ -74,17 +74,17 @@ module Resync | |
| 74 74 | 
             
                  private
         | 
| 75 75 |  | 
| 76 76 | 
             
                  def make_request(uri, limit, &block) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
         | 
| 77 | 
            -
                     | 
| 77 | 
            +
                    raise "Redirect limit (#{redirect_limit}) exceeded retrieving URI #{uri}" if limit <= 0
         | 
| 78 78 | 
             
                    req = Net::HTTP::Get.new(uri, 'User-Agent' => user_agent)
         | 
| 79 79 | 
             
                    Net::HTTP.start(uri.hostname, uri.port, use_ssl: (uri.scheme == 'https')) do |http|
         | 
| 80 80 | 
             
                      http.request(req) do |response|
         | 
| 81 81 | 
             
                        case response
         | 
| 82 82 | 
             
                        when Net::HTTPSuccess
         | 
| 83 | 
            -
                           | 
| 83 | 
            +
                          yield(response)
         | 
| 84 84 | 
             
                        when Net::HTTPInformation, Net::HTTPRedirection
         | 
| 85 85 | 
             
                          make_request(redirect_uri_for(response, uri), limit - 1, &block)
         | 
| 86 86 | 
             
                        else
         | 
| 87 | 
            -
                           | 
| 87 | 
            +
                          raise "Error #{response.code}: #{response.message} retrieving URI #{uri}"
         | 
| 88 88 | 
             
                        end
         | 
| 89 89 | 
             
                      end
         | 
| 90 90 | 
             
                    end
         | 
| @@ -19,14 +19,14 @@ module Resync | |
| 19 19 | 
             
                    # Delegates to {Client#get} to get the contents of this +:uri+.
         | 
| 20 20 | 
             
                    # The downloaded content will only be downloaded once; subsequent
         | 
| 21 21 | 
             
                    # calls to this method will return the cached content.
         | 
| 22 | 
            -
                    def get | 
| 22 | 
            +
                    def get
         | 
| 23 23 | 
             
                      @content ||= client.get(uri)
         | 
| 24 24 | 
             
                    end
         | 
| 25 25 |  | 
| 26 26 | 
             
                    # Delegates to {Client#download_to_temp_file} to download the
         | 
| 27 27 | 
             
                    # contents of +:uri+ to a file. Subsequent calls will download
         | 
| 28 28 | 
             
                    # the contents again, each time to a fresh temporary file.
         | 
| 29 | 
            -
                    def download_to_temp_file | 
| 29 | 
            +
                    def download_to_temp_file
         | 
| 30 30 | 
             
                      client.download_to_temp_file(uri)
         | 
| 31 31 | 
             
                    end
         | 
| 32 32 |  | 
| @@ -63,19 +63,19 @@ module Resync | |
| 63 63 | 
             
                    private
         | 
| 64 64 |  | 
| 65 65 | 
             
                    def resource=(value)
         | 
| 66 | 
            -
                       | 
| 66 | 
            +
                      raise ArgumentError, 'nil is not a resource' unless value
         | 
| 67 67 | 
             
                      self.metadata = value.metadata
         | 
| 68 68 | 
             
                      @resource = value
         | 
| 69 69 | 
             
                    end
         | 
| 70 70 |  | 
| 71 71 | 
             
                    def metadata=(value)
         | 
| 72 | 
            -
                       | 
| 72 | 
            +
                      raise 'no metadata found' unless value
         | 
| 73 73 | 
             
                      self.path = value.path
         | 
| 74 74 | 
             
                      @metadata = value
         | 
| 75 75 | 
             
                    end
         | 
| 76 76 |  | 
| 77 77 | 
             
                    def path=(value)
         | 
| 78 | 
            -
                       | 
| 78 | 
            +
                      raise 'no path found in metadata' unless value
         | 
| 79 79 | 
             
                      @path = value.start_with?('/') ? value.slice(1..-1) : value
         | 
| 80 80 | 
             
                    end
         | 
| 81 81 |  | 
| @@ -67,7 +67,7 @@ module Resync | |
| 67 67 | 
             
                    def zipfile=(value)
         | 
| 68 68 | 
             
                      @zipfile = value.is_a?(::Zip::File) ? value : ::Zip::File.open(value)
         | 
| 69 69 | 
             
                      manifest_entry = zipfile.find_entry('manifest.xml')
         | 
| 70 | 
            -
                       | 
| 70 | 
            +
                      raise "No manifest.xml found in zipfile #{zipfile.name}" unless manifest_entry
         | 
| 71 71 | 
             
                      manifest_stream = manifest_entry.get_input_stream
         | 
| 72 72 | 
             
                      self.manifest = XMLParser.parse(manifest_stream)
         | 
| 73 73 | 
             
                    end
         | 
    
        data/resync-client.gemspec
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            # coding: utf-8
         | 
| 2 | 
            +
             | 
| 2 3 | 
             
            lib = File.expand_path('../lib', __FILE__)
         | 
| 3 4 | 
             
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         | 
| 4 5 |  | 
| @@ -15,7 +16,7 @@ Gem::Specification.new do |spec| | |
| 15 16 | 
             
              spec.license = 'MIT'
         | 
| 16 17 |  | 
| 17 18 | 
             
              origin = `git config --get remote.origin.url`.chomp
         | 
| 18 | 
            -
              origin_uri = origin.start_with?('http') ? URI(origin) : URI(origin. | 
| 19 | 
            +
              origin_uri = origin.start_with?('http') ? URI(origin) : URI(origin.gsub(%r{git@([^:]+)(.com|.org)[^\/]+}, 'http://\1\2'))
         | 
| 19 20 | 
             
              spec.homepage = URI::HTTP.build(host: origin_uri.host, path: origin_uri.path.chomp('.git')).to_s
         | 
| 20 21 |  | 
| 21 22 | 
             
              spec.files = `git ls-files -z`.split("\x0")
         | 
| @@ -24,13 +25,13 @@ Gem::Specification.new do |spec| | |
| 24 25 | 
             
              spec.require_paths = ['lib']
         | 
| 25 26 |  | 
| 26 27 | 
             
              spec.add_dependency 'promise', '~> 0.3', '>= 0.3.1'
         | 
| 27 | 
            -
              spec.add_dependency 'resync', '~> 0.4', '>= 0.4. | 
| 28 | 
            +
              spec.add_dependency 'resync', '~> 0.4', '>= 0.4.5'
         | 
| 28 29 | 
             
              spec.add_dependency 'rubyzip', '~> 1.1'
         | 
| 29 30 |  | 
| 30 31 | 
             
              spec.add_development_dependency 'equivalent-xml', '~> 0.6.0'
         | 
| 31 | 
            -
              spec.add_development_dependency 'rake', ' | 
| 32 | 
            +
              spec.add_development_dependency 'rake', '>= 10.4'
         | 
| 32 33 | 
             
              spec.add_development_dependency 'rspec', '~> 3.2'
         | 
| 33 | 
            -
              spec.add_development_dependency 'rubocop', '~> 0. | 
| 34 | 
            +
              spec.add_development_dependency 'rubocop', '~> 0.47'
         | 
| 34 35 | 
             
              spec.add_development_dependency 'simplecov', '~> 0.9.2'
         | 
| 35 36 | 
             
              spec.add_development_dependency 'simplecov-console', '~> 0.2.0'
         | 
| 36 37 | 
             
              spec.add_development_dependency 'yard', '~> 0.8'
         | 
    
        data/spec/.rubocop.yml
    ADDED
    
    
| @@ -17,12 +17,9 @@ RSpec::Matchers.define :be_time do |expected| | |
| 17 17 | 
             
              end
         | 
| 18 18 |  | 
| 19 19 | 
             
              match do |actual|
         | 
| 20 | 
            -
                 | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
                else
         | 
| 24 | 
            -
                  return actual.nil?
         | 
| 25 | 
            -
                end
         | 
| 20 | 
            +
                return actual.nil? unless expected
         | 
| 21 | 
            +
                raise "Expected value #{expected} is not a Time" unless expected.is_a?(Time)
         | 
| 22 | 
            +
                actual.is_a?(Time) && (to_string(expected) == to_string(actual))
         | 
| 26 23 | 
             
              end
         | 
| 27 24 |  | 
| 28 25 | 
             
              failure_message do |actual|
         | 
| @@ -18,7 +18,8 @@ module Resync | |
| 18 18 | 
             
                                                                           <loc>http://example.com/20130103-changedump.xml</loc>
         | 
| 19 19 | 
             
                                                                           <rs:md from='2013-01-03T00:00:00Z' until='2013-01-04T00:00:00Z'/>
         | 
| 20 20 | 
             
                                                                         </sitemap>
         | 
| 21 | 
            -
                                                                       </sitemapindex>" | 
| 21 | 
            +
                                                                       </sitemapindex>"
         | 
| 22 | 
            +
                  ))
         | 
| 22 23 |  | 
| 23 24 | 
             
                  @change_dumps = [
         | 
| 24 25 | 
             
                    "<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9' xmlns:rs='http://www.openarchives.org/rs/terms/'>
         | 
| @@ -9,19 +9,25 @@ module Resync | |
| 9 9 | 
             
                      modified_time: Time.utc(2013, 1, 1, 23, 59, 59),
         | 
| 10 10 | 
             
                      metadata: Metadata.new(
         | 
| 11 11 | 
             
                        from_time: Time.utc(2013, 1, 1),
         | 
| 12 | 
            -
                        until_time: Time.utc(2013, 1, 2) | 
| 12 | 
            +
                        until_time: Time.utc(2013, 1, 2)
         | 
| 13 | 
            +
                      )
         | 
| 14 | 
            +
                    ),
         | 
| 13 15 | 
             
                    Resource.new(
         | 
| 14 16 | 
             
                      uri: URI('http://example.com/20130102-changedump.zip'),
         | 
| 15 17 | 
             
                      modified_time: Time.utc(2013, 1, 2, 23, 59, 59),
         | 
| 16 18 | 
             
                      metadata: Metadata.new(
         | 
| 17 19 | 
             
                        from_time: Time.utc(2013, 1, 2),
         | 
| 18 | 
            -
                        until_time: Time.utc(2013, 1, 3) | 
| 20 | 
            +
                        until_time: Time.utc(2013, 1, 3)
         | 
| 21 | 
            +
                      )
         | 
| 22 | 
            +
                    ),
         | 
| 19 23 | 
             
                    Resource.new(
         | 
| 20 24 | 
             
                      uri: URI('http://example.com/20130103-changedump.zip'),
         | 
| 21 25 | 
             
                      modified_time: Time.utc(2013, 1, 3, 23, 59, 59),
         | 
| 22 26 | 
             
                      metadata: Metadata.new(
         | 
| 23 27 | 
             
                        from_time: Time.utc(2013, 1, 3),
         | 
| 24 | 
            -
                        until_time: Time.utc(2013, 1, 4) | 
| 28 | 
            +
                        until_time: Time.utc(2013, 1, 4)
         | 
| 29 | 
            +
                      )
         | 
| 30 | 
            +
                    )
         | 
| 25 31 | 
             
                  ]
         | 
| 26 32 | 
             
                  @dump = ChangeDump.new(resources: @resources)
         | 
| 27 33 |  | 
| @@ -55,7 +55,7 @@ module Resync | |
| 55 55 | 
             
                    expect(lazy_flat_mapped).to eq(all_packages)
         | 
| 56 56 | 
             
                  end
         | 
| 57 57 |  | 
| 58 | 
            -
                  it 'supports lazy iteration 'do
         | 
| 58 | 
            +
                  it 'supports lazy iteration ' do
         | 
| 59 59 | 
             
                    manifests = Array.new(3) { instance_double(ChangeDumpManifest) }
         | 
| 60 60 | 
             
                    all_packages = Array.new(3) do |index|
         | 
| 61 61 | 
             
                      zip_package = instance_double(Client::Zip::ZipPackage)
         | 
| @@ -159,7 +159,7 @@ module Resync | |
| 159 159 | 
             
                    expect(flat_mapped).to eq(all_packages)
         | 
| 160 160 | 
             
                  end
         | 
| 161 161 |  | 
| 162 | 
            -
                  it 'supports lazy iteration 'do
         | 
| 162 | 
            +
                  it 'supports lazy iteration ' do
         | 
| 163 163 | 
             
                    manifests = Array.new(3) { instance_double(ChangeDumpManifest) }
         | 
| 164 164 | 
             
                    all_packages = Array.new(3) do |index|
         | 
| 165 165 | 
             
                      zip_package = instance_double(Client::Zip::ZipPackage)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: resync-client
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.4. | 
| 4 | 
            +
              version: 0.4.6
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - David Moles
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2017-04-27 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: promise
         | 
| @@ -39,7 +39,7 @@ dependencies: | |
| 39 39 | 
             
                    version: '0.4'
         | 
| 40 40 | 
             
                - - ">="
         | 
| 41 41 | 
             
                  - !ruby/object:Gem::Version
         | 
| 42 | 
            -
                    version: 0.4. | 
| 42 | 
            +
                    version: 0.4.5
         | 
| 43 43 | 
             
              type: :runtime
         | 
| 44 44 | 
             
              prerelease: false
         | 
| 45 45 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -49,7 +49,7 @@ dependencies: | |
| 49 49 | 
             
                    version: '0.4'
         | 
| 50 50 | 
             
                - - ">="
         | 
| 51 51 | 
             
                  - !ruby/object:Gem::Version
         | 
| 52 | 
            -
                    version: 0.4. | 
| 52 | 
            +
                    version: 0.4.5
         | 
| 53 53 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 54 54 | 
             
              name: rubyzip
         | 
| 55 55 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -82,14 +82,14 @@ dependencies: | |
| 82 82 | 
             
              name: rake
         | 
| 83 83 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 84 84 | 
             
                requirements:
         | 
| 85 | 
            -
                - - " | 
| 85 | 
            +
                - - ">="
         | 
| 86 86 | 
             
                  - !ruby/object:Gem::Version
         | 
| 87 87 | 
             
                    version: '10.4'
         | 
| 88 88 | 
             
              type: :development
         | 
| 89 89 | 
             
              prerelease: false
         | 
| 90 90 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 91 91 | 
             
                requirements:
         | 
| 92 | 
            -
                - - " | 
| 92 | 
            +
                - - ">="
         | 
| 93 93 | 
             
                  - !ruby/object:Gem::Version
         | 
| 94 94 | 
             
                    version: '10.4'
         | 
| 95 95 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -112,14 +112,14 @@ dependencies: | |
| 112 112 | 
             
                requirements:
         | 
| 113 113 | 
             
                - - "~>"
         | 
| 114 114 | 
             
                  - !ruby/object:Gem::Version
         | 
| 115 | 
            -
                    version: 0. | 
| 115 | 
            +
                    version: '0.47'
         | 
| 116 116 | 
             
              type: :development
         | 
| 117 117 | 
             
              prerelease: false
         | 
| 118 118 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 119 119 | 
             
                requirements:
         | 
| 120 120 | 
             
                - - "~>"
         | 
| 121 121 | 
             
                  - !ruby/object:Gem::Version
         | 
| 122 | 
            -
                    version: 0. | 
| 122 | 
            +
                    version: '0.47'
         | 
| 123 123 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 124 124 | 
             
              name: simplecov
         | 
| 125 125 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -200,6 +200,7 @@ files: | |
| 200 200 | 
             
            - lib/resync/client/zip/bitstream.rb
         | 
| 201 201 | 
             
            - lib/resync/client/zip/zip_package.rb
         | 
| 202 202 | 
             
            - resync-client.gemspec
         | 
| 203 | 
            +
            - spec/.rubocop.yml
         | 
| 203 204 | 
             
            - spec/acceptance/example_spec.rb
         | 
| 204 205 | 
             
            - spec/data/examples/capability-list.xml
         | 
| 205 206 | 
             
            - spec/data/examples/change-dump-manifest.xml
         | 
| @@ -241,7 +242,7 @@ files: | |
| 241 242 | 
             
            - spec/unit/resync/client/list_index_spec.rb
         | 
| 242 243 | 
             
            - spec/unit/resync/client/mixins_spec.rb
         | 
| 243 244 | 
             
            - spec/unit/resync/client/zip_package_spec.rb
         | 
| 244 | 
            -
            homepage: http://github.com/ | 
| 245 | 
            +
            homepage: http://github.com/resync-client
         | 
| 245 246 | 
             
            licenses:
         | 
| 246 247 | 
             
            - MIT
         | 
| 247 248 | 
             
            metadata: {}
         | 
| @@ -261,11 +262,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 261 262 | 
             
                  version: '0'
         | 
| 262 263 | 
             
            requirements: []
         | 
| 263 264 | 
             
            rubyforge_project: 
         | 
| 264 | 
            -
            rubygems_version: 2. | 
| 265 | 
            +
            rubygems_version: 2.6.8
         | 
| 265 266 | 
             
            signing_key: 
         | 
| 266 267 | 
             
            specification_version: 4
         | 
| 267 268 | 
             
            summary: Client library for ResourceSync
         | 
| 268 269 | 
             
            test_files:
         | 
| 270 | 
            +
            - spec/.rubocop.yml
         | 
| 269 271 | 
             
            - spec/acceptance/example_spec.rb
         | 
| 270 272 | 
             
            - spec/data/examples/capability-list.xml
         | 
| 271 273 | 
             
            - spec/data/examples/change-dump-manifest.xml
         | 
| @@ -307,4 +309,3 @@ test_files: | |
| 307 309 | 
             
            - spec/unit/resync/client/list_index_spec.rb
         | 
| 308 310 | 
             
            - spec/unit/resync/client/mixins_spec.rb
         | 
| 309 311 | 
             
            - spec/unit/resync/client/zip_package_spec.rb
         | 
| 310 | 
            -
            has_rdoc: 
         |