Sha256: 4d4608788542af178dbf3659b14566b4777e8f5e0e8b381eb15f5e1da126e912

Contents?: true

Size: 493 Bytes

Versions: 48

Compression:

Stored size: 493 Bytes

Contents

module Krikri::Harvesters
  ##
  # Harvest behavior that skips OAI records marked as deleted
  class OAISkipDeletedBehavior < BasicSaveBehavior
    def process_record
      return if deleted?(record)
      super
    end

    private

    def deleted?(record)
      header = Nokogiri::XML(record.content).xpath('//xmlns:header')
      return false if header.empty?
      status = header.first['status']
      return true if status.to_s.downcase.include? 'deleted'
      false
    end
  end
end

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
krikri-0.15.2 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.15.1 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.15.0 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.14.0 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.13.2 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.13.1 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.13.0 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.12.4 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.12.3 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.12.1 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.12.0 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.12.0.pre.rc.1 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.11.2 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.11.1 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.11.0 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.10.1 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.10.0 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.9.0 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.8.9 lib/krikri/harvesters/oai_skip_deleted_behavior.rb
krikri-0.8.8 lib/krikri/harvesters/oai_skip_deleted_behavior.rb