Class: CDMBL::Extractor

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/cdmbl/extractor.rb

Overview

Retrieve OAI records and sort them into add/updatables and deletables

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(oai_endpoint: '', resumption_token: nil, set_spec: nil, from: nil, oai_request_klass: OaiRequest, oai_filter_klass: OAIFilter, oai_set_lookup_klass: OAISetLookup) ⇒ Extractor

Returns a new instance of Extractor.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/cdmbl/extractor.rb', line 16

def initialize(oai_endpoint: '',
               resumption_token: nil,
               set_spec: nil,
               from: nil,
               oai_request_klass: OaiRequest,
               oai_filter_klass: OAIFilter,
               oai_set_lookup_klass: OAISetLookup)
  @oai_request_klass    = oai_request_klass
  @oai_filter_klass     = oai_filter_klass
  @oai_set_lookup_klass = oai_set_lookup_klass
  @oai_request          = oai_requester(oai_endpoint,
                                        resumption_token,
                                        set_spec,
                                        from)
end

Instance Attribute Details

#oai_filter_klassObject (readonly)

Returns the value of attribute oai_filter_klass.



11
12
13
# File 'lib/cdmbl/extractor.rb', line 11

def oai_filter_klass
  @oai_filter_klass
end

#oai_requestObject (readonly)

Returns the value of attribute oai_request.



11
12
13
# File 'lib/cdmbl/extractor.rb', line 11

def oai_request
  @oai_request
end

#oai_request_klassObject (readonly)

Returns the value of attribute oai_request_klass.



11
12
13
# File 'lib/cdmbl/extractor.rb', line 11

def oai_request_klass
  @oai_request_klass
end

#oai_set_lookup_klassObject (readonly)

Returns the value of attribute oai_set_lookup_klass.



11
12
13
# File 'lib/cdmbl/extractor.rb', line 11

def oai_set_lookup_klass
  @oai_set_lookup_klass
end

Instance Method Details

#deletable_idsObject



32
33
34
# File 'lib/cdmbl/extractor.rb', line 32

def deletable_ids
  oai_ids.deletable_ids
end

#local_identifiersObject



36
37
38
# File 'lib/cdmbl/extractor.rb', line 36

def local_identifiers
  oai_ids.updatable_ids
end

#next_resumption_tokenObject



40
41
42
# File 'lib/cdmbl/extractor.rb', line 40

def next_resumption_token
  oai_identifiers.at_path('OAI_PMH/ListIdentifiers/resumptionToken')
end

#oai_idsObject



44
45
46
# File 'lib/cdmbl/extractor.rb', line 44

def oai_ids
  oai_filter_klass.new(headers: oai_headers)
end

#set_lookupObject



48
49
50
# File 'lib/cdmbl/extractor.rb', line 48

def set_lookup
  oai_set_lookup_klass.new(oai_sets: sets).keyed
end