Class: BerkeleyLibrary::Location::WorldCat::LibrariesRequest
- Inherits:
-
Object
- Object
- BerkeleyLibrary::Location::WorldCat::LibrariesRequest
- Includes:
- Util
- Defined in:
- lib/berkeley_library/location/world_cat/libraries_request.rb
Overview
Constant Summary collapse
- JPATH_INST_ID_VALS =
'$.briefRecords[*].institutionHolding.briefHoldings[*].oclcSymbol'.freeze
Instance Attribute Summary collapse
-
#oclc_number ⇒ Object
readonly
Returns the value of attribute oclc_number.
-
#symbols ⇒ Object
readonly
Returns the value of attribute symbols.
Instance Method Summary collapse
- #execute ⇒ Object
- #headers ⇒ Object
-
#initialize(oclc_number, symbols: Symbols::ALL) ⇒ LibrariesRequest
constructor
A new instance of LibrariesRequest.
- #params ⇒ Object
- #uri ⇒ Object
Constructor Details
#initialize(oclc_number, symbols: Symbols::ALL) ⇒ LibrariesRequest
Returns a new instance of LibrariesRequest.
20 21 22 23 24 |
# File 'lib/berkeley_library/location/world_cat/libraries_request.rb', line 20 def initialize(oclc_number, symbols: Symbols::ALL) @oclc_token = OCLCAuth.instance @oclc_number = OCLCNumber.ensure_oclc_number!(oclc_number) @symbols = Symbols.ensure_valid!(symbols) end |
Instance Attribute Details
#oclc_number ⇒ Object (readonly)
Returns the value of attribute oclc_number.
18 19 20 |
# File 'lib/berkeley_library/location/world_cat/libraries_request.rb', line 18 def oclc_number @oclc_number end |
#symbols ⇒ Object (readonly)
Returns the value of attribute symbols.
18 19 20 |
# File 'lib/berkeley_library/location/world_cat/libraries_request.rb', line 18 def symbols @symbols end |
Instance Method Details
#execute ⇒ Object
43 44 45 46 |
# File 'lib/berkeley_library/location/world_cat/libraries_request.rb', line 43 def execute response_body = URIs.get(uri, params:, headers:, log: false) inst_symbols_from(response_body) end |
#headers ⇒ Object
37 38 39 40 41 |
# File 'lib/berkeley_library/location/world_cat/libraries_request.rb', line 37 def headers @headers ||= { 'Authorization' => "Bearer #{oclc_token.access_token}" } end |
#params ⇒ Object
30 31 32 33 34 35 |
# File 'lib/berkeley_library/location/world_cat/libraries_request.rb', line 30 def params @params ||= { 'oclcNumber' => oclc_number, 'heldBySymbol' => symbols.join(',') } end |
#uri ⇒ Object
26 27 28 |
# File 'lib/berkeley_library/location/world_cat/libraries_request.rb', line 26 def uri @uri ||= URIs.append(libraries_base_uri) end |