purl_fetcher-client 0.2.0 → 0.3.0
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 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c0fbb1d4ee923c8a04d013b372637f82b18c9a2fa433cf40792aec85152062f1
         | 
| 4 | 
            +
              data.tar.gz: 01dad44de5ded0fd3206d7adb7be24d89103ce8cbafb3cf1aaa9abee51f8add8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 6c7daf20c0d96b891998a9a622d5ca05b319b2a1ff60da84a6200f536fd778ca91ed41b396aa688a7b5d4b4c40d62a56e5bf49366596539968fa4cf1dcb40e13
         | 
| 7 | 
            +
              data.tar.gz: 5352c32604756a40e6d807e3c93b05321aeb4c67d1222fb6fe8b03b60e20ba15dffb16e40631b05ba15c1c1824749be9f0ec10d3f757623ff575e1da214a0417
         | 
| @@ -4,15 +4,18 @@ class PurlFetcher::Client::DeletesReader < PurlFetcher::Client::Reader | |
| 4 4 | 
             
                return to_enum(:each) unless block_given?
         | 
| 5 5 |  | 
| 6 6 | 
             
                deletes(first_modified: first_modified).each do |change|
         | 
| 7 | 
            -
             | 
| 7 | 
            +
             | 
| 8 | 
            +
                  public_xml = PurlFetcher::Client::PublicXmlRecord.new(change['druid'].sub('druid:', ''), settings)
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  yield public_xml, change, self
         | 
| 8 11 | 
             
                end
         | 
| 9 12 |  | 
| 10 13 | 
             
                changes(first_modified: first_modified, target: target).each do |change|
         | 
| 11 | 
            -
                   | 
| 14 | 
            +
                  public_xml = PurlFetcher::Client::PublicXmlRecord.new(change['druid'].sub('druid:', ''), settings)
         | 
| 12 15 |  | 
| 13 16 | 
             
                  next unless target.nil? || (change['false_targets'] && change['false_targets'].include?(target)) || (settings['skip_if_catkey'] && record.catkey)
         | 
| 14 17 |  | 
| 15 | 
            -
                  yield  | 
| 18 | 
            +
                  yield public_xml, change, self
         | 
| 16 19 | 
             
                end
         | 
| 17 20 | 
             
              end
         | 
| 18 21 | 
             
            end
         | 
| @@ -1,10 +1,11 @@ | |
| 1 1 | 
             
            class PurlFetcher::Client::Reader
         | 
| 2 2 | 
             
              include Enumerable
         | 
| 3 | 
            -
              attr_reader :input_stream, :settings
         | 
| 3 | 
            +
              attr_reader :input_stream, :settings, :range
         | 
| 4 4 |  | 
| 5 5 | 
             
              def initialize(input_stream, settings = {})
         | 
| 6 6 | 
             
                @settings = settings
         | 
| 7 7 | 
             
                @input_stream = input_stream
         | 
| 8 | 
            +
                @range = {}
         | 
| 8 9 | 
             
              end
         | 
| 9 10 |  | 
| 10 11 | 
             
              def each
         | 
| @@ -15,7 +16,7 @@ class PurlFetcher::Client::Reader | |
| 15 16 |  | 
| 16 17 | 
             
                  public_xml = PurlFetcher::Client::PublicXmlRecord.new(change['druid'].sub('druid:', ''), settings)
         | 
| 17 18 |  | 
| 18 | 
            -
                  yield public_xml, change,  | 
| 19 | 
            +
                  yield public_xml, change, self
         | 
| 19 20 | 
             
                end
         | 
| 20 21 | 
             
              end
         | 
| 21 22 |  | 
| @@ -68,18 +69,19 @@ class PurlFetcher::Client::Reader | |
| 68 69 | 
             
              def paginated_get(path, accessor, options = {})
         | 
| 69 70 | 
             
                Enumerator.new do |yielder|
         | 
| 70 71 | 
             
                  params   = options.dup
         | 
| 71 | 
            -
                  per_page = params.delete(:per_page) {  | 
| 72 | 
            +
                  per_page = params.delete(:per_page) { 1000 }
         | 
| 72 73 | 
             
                  page     = params.delete(:page) { 1 }
         | 
| 73 74 | 
             
                  max      = params.delete(:max) { 1_000_000 }
         | 
| 74 75 | 
             
                  total    = 0
         | 
| 75 76 |  | 
| 76 77 | 
             
                  loop do
         | 
| 77 78 | 
             
                    data = get(path, { per_page: per_page, page: page }.merge(params))
         | 
| 79 | 
            +
                    @range = data['range']
         | 
| 78 80 |  | 
| 79 81 | 
             
                    total += data[accessor].length
         | 
| 80 82 |  | 
| 81 83 | 
             
                    data[accessor].each do |element|
         | 
| 82 | 
            -
                      yielder.yield element,  | 
| 84 | 
            +
                      yielder.yield element, self
         | 
| 83 85 | 
             
                    end
         | 
| 84 86 |  | 
| 85 87 | 
             
                    page = data['pages']['next_page']
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: purl_fetcher-client
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.3.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Chris Beer
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2019-05- | 
| 11 | 
            +
            date: 2019-05-30 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: http
         |