Class: AlmaApi::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/alma_api/client.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ Client

Returns a new instance of Client.



13
14
15
16
# File 'lib/alma_api/client.rb', line 13

def initialize(configuration)
  @configuration = configuration
  @remaining_api_calls = -1
end

Instance Attribute Details

#configurationObject (readonly)

Returns the value of attribute configuration.



11
12
13
# File 'lib/alma_api/client.rb', line 11

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



4
5
6
7
8
# File 'lib/alma_api/client.rb', line 4

def configure
  configuration = Configuration.new
  yield(configuration) if block_given?
  new(configuration)
end

Instance Method Details

#delete(url, params: {}, format: nil) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/alma_api/client.rb', line 44

def delete(url, params: {}, format: nil)
  perform_request do
    connection(format: format, params: params).delete(url) do |req|
      yield(req) if block_given?
    end
  end
end

#get(url, params: {}, format: nil) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/alma_api/client.rb', line 18

def get(url, params: {}, format: nil)
  perform_request do
    connection(format: format, params: params).get(url) do |req|
      yield(req) if block_given?
    end
  end
end

#post(url, params: {}, body: nil, format: nil) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/alma_api/client.rb', line 26

def post(url, params: {}, body: nil, format: nil)
  perform_request do
    connection(format: format, params: params).post(url) do |req|
      req.body = body
      yield(req) if block_given?
    end
  end
end

#put(url, params: {}, body: nil, format: nil) ⇒ Object



35
36
37
38
39
40
41
42
# File 'lib/alma_api/client.rb', line 35

def put(url, params: {}, body: nil, format: nil)
  perform_request do
    connection(format: format, params: params).put(url) do |req|
      req.body = body
      yield(req) if block_given?
    end
  end
end

#remaining_api_callsObject



52
53
54
55
56
57
58
# File 'lib/alma_api/client.rb', line 52

def remaining_api_calls
  response = connection.get("users/operation/test")
  rac = response.headers["x-exl-api-remaining"]
  rac.present? ? rac.to_i : -1
rescue StandardError
  -1
end