Class: PurlFetcher::Client::DeletesReader

Inherits:
Reader
  • Object
show all
Defined in:
lib/purl_fetcher/client/deletes_reader.rb

Instance Attribute Summary

Attributes inherited from Reader

#input_stream, #range, #settings

Instance Method Summary collapse

Methods inherited from Reader

#collection_members, #initialize

Constructor Details

This class inherits a constructor from PurlFetcher::Client::Reader

Instance Method Details

#eachObject

Enumerate objects that should be deleted.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/purl_fetcher/client/deletes_reader.rb', line 3

def each
  return to_enum(:each) unless block_given?

  deletes(first_modified: first_modified).each do |change|

    public_xml = PurlFetcher::Client::PublicXmlRecord.new(change['druid'].sub('druid:', ''), settings)

    yield public_xml, change, self
  end

  changes(first_modified: first_modified, target: target).each do |change|
    public_xml = PurlFetcher::Client::PublicXmlRecord.new(change['druid'].sub('druid:', ''), settings)

    next unless target.nil? || (change['false_targets'] && change['false_targets'].include?(target)) || (settings['skip_if_catkey'] && record.catkey)

    yield public_xml, change, self
  end
end