Class: Libis::Services::Oai

Inherits:
Object
  • Object
show all
Includes:
OAI::XPath
Defined in:
lib/libis/services/oai.rb

Direct Known Subclasses

Rosetta::OaiPmh, Viaa::OaiPmh

Defined Under Namespace

Classes: Query

Instance Method Summary collapse

Constructor Details

#initialize(url, options = {}) ⇒ Oai

Returns a new instance of Oai.



34
35
36
37
# File 'lib/libis/services/oai.rb', line 34

def initialize(url, options = {})
  options[:debug] = true
  @oai_client = OAI::Client.new(url, options)
end

Instance Method Details

#identifiers(token_or_query = nil) ⇒ Object



52
53
54
# File 'lib/libis/services/oai.rb', line 52

def identifiers(token_or_query = nil)
  do_oai_request(:list_identifiers, token_or_query_to_hash(token_or_query))
end

#identifyObject



39
40
41
# File 'lib/libis/services/oai.rb', line 39

def identify
  do_oai_request(:identify)
end

#metadata_formats(identifier = nil) ⇒ Object



48
49
50
# File 'lib/libis/services/oai.rb', line 48

def (identifier = nil)
  do_oai_request(:list_metadata_formats, {identifier: identifier})
end

#record(identifier, metadata_prefix = 'oai_dc') ⇒ Object



60
61
62
# File 'lib/libis/services/oai.rb', line 60

def record(identifier,  = 'oai_dc')
  do_oai_request(:get_record, identifier: identifier, metadata_prefix: )
end

#records(token_or_query = nil) ⇒ Object



56
57
58
# File 'lib/libis/services/oai.rb', line 56

def records(token_or_query = nil)
  do_oai_request(:list_records, token_or_query_to_hash(token_or_query))
end

#sets(token = nil) ⇒ Object



43
44
45
46
# File 'lib/libis/services/oai.rb', line 43

def sets(token = nil)
  options = { resumption_token: token }
  do_oai_request(:list_sets, options)
end