alma 0.2.4 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.circleci/config.yml +54 -0
- data/.circleci/setup-rubygems.sh +3 -0
- data/.github/dependabot.yml +7 -0
- data/.gitignore +3 -0
- data/.rubocop.yml +134 -0
- data/.ruby-version +1 -1
- data/Gemfile +5 -1
- data/Guardfile +75 -0
- data/README.md +146 -57
- data/Rakefile +3 -1
- data/alma.gemspec +21 -12
- data/lib/alma.rb +34 -54
- data/lib/alma/alma_record.rb +3 -3
- data/lib/alma/api_defaults.rb +39 -0
- data/lib/alma/availability_response.rb +69 -31
- data/lib/alma/bib.rb +54 -29
- data/lib/alma/bib_holding.rb +25 -0
- data/lib/alma/bib_item.rb +164 -0
- data/lib/alma/bib_item_set.rb +93 -0
- data/lib/alma/bib_set.rb +5 -10
- data/lib/alma/config.rb +10 -4
- data/lib/alma/course.rb +47 -0
- data/lib/alma/course_set.rb +17 -0
- data/lib/alma/electronic.rb +167 -0
- data/lib/alma/electronic/README.md +20 -0
- data/lib/alma/electronic/batch_utils.rb +224 -0
- data/lib/alma/electronic/business.rb +29 -0
- data/lib/alma/error.rb +16 -4
- data/lib/alma/fine.rb +16 -0
- data/lib/alma/fine_set.rb +41 -8
- data/lib/alma/item_request_options.rb +23 -0
- data/lib/alma/library.rb +29 -0
- data/lib/alma/library_set.rb +21 -0
- data/lib/alma/loan.rb +31 -2
- data/lib/alma/loan_set.rb +62 -4
- data/lib/alma/location.rb +29 -0
- data/lib/alma/location_set.rb +21 -0
- data/lib/alma/renewal_response.rb +25 -14
- data/lib/alma/request.rb +167 -0
- data/lib/alma/request_options.rb +66 -0
- data/lib/alma/request_set.rb +69 -5
- data/lib/alma/response.rb +45 -0
- data/lib/alma/result_set.rb +27 -35
- data/lib/alma/user.rb +142 -86
- data/lib/alma/user_request.rb +19 -0
- data/lib/alma/user_set.rb +5 -6
- data/lib/alma/version.rb +3 -1
- data/log/.gitignore +4 -0
- metadata +149 -10
- data/.travis.yml +0 -5
- data/lib/alma/api.rb +0 -33
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Alma
|
4
|
+
class UserRequest < AlmaRecord
|
5
|
+
extend Alma::ApiDefaults
|
6
|
+
|
7
|
+
def self.where_user(user_id, args = {})
|
8
|
+
# Default to upper limit
|
9
|
+
args[:limit] ||= 100
|
10
|
+
response = HTTParty.get(
|
11
|
+
"#{users_base_path}/#{user_id}/requests",
|
12
|
+
query: args,
|
13
|
+
headers: headers,
|
14
|
+
timeout: timeout
|
15
|
+
)
|
16
|
+
Alma::RequestSet.new(response)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/alma/user_set.rb
CHANGED
@@ -1,18 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Alma
|
2
4
|
class UserSet
|
3
|
-
|
4
5
|
def top_level_key
|
5
|
-
|
6
|
-
|
6
|
+
"users"
|
7
7
|
end
|
8
8
|
|
9
9
|
def response_records_key
|
10
|
-
|
10
|
+
"user"
|
11
11
|
end
|
12
12
|
|
13
13
|
def single_record_class
|
14
14
|
Alma::User
|
15
15
|
end
|
16
|
-
|
17
16
|
end
|
18
|
-
end
|
17
|
+
end
|
data/lib/alma/version.rb
CHANGED
data/log/.gitignore
ADDED
metadata
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Jennifer Anton
|
8
|
+
- David Kinzer
|
7
9
|
- Chad Nelson
|
8
10
|
autorequire:
|
9
11
|
bindir: exe
|
10
12
|
cert_chain: []
|
11
|
-
date:
|
13
|
+
date: 2021-05-06 00:00:00.000000000 Z
|
12
14
|
dependencies:
|
13
15
|
- !ruby/object:Gem::Dependency
|
14
16
|
name: ezwadl
|
@@ -24,34 +26,76 @@ dependencies:
|
|
24
26
|
- - ">="
|
25
27
|
- !ruby/object:Gem::Version
|
26
28
|
version: '0'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: httparty
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
type: :runtime
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '0'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: xml-simple
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: activesupport
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
type: :runtime
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
27
71
|
- !ruby/object:Gem::Dependency
|
28
72
|
name: bundler
|
29
73
|
requirement: !ruby/object:Gem::Requirement
|
30
74
|
requirements:
|
31
75
|
- - "~>"
|
32
76
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
77
|
+
version: '2.0'
|
34
78
|
type: :development
|
35
79
|
prerelease: false
|
36
80
|
version_requirements: !ruby/object:Gem::Requirement
|
37
81
|
requirements:
|
38
82
|
- - "~>"
|
39
83
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
84
|
+
version: '2.0'
|
41
85
|
- !ruby/object:Gem::Dependency
|
42
86
|
name: rake
|
43
87
|
requirement: !ruby/object:Gem::Requirement
|
44
88
|
requirements:
|
45
89
|
- - "~>"
|
46
90
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
91
|
+
version: '13.0'
|
48
92
|
type: :development
|
49
93
|
prerelease: false
|
50
94
|
version_requirements: !ruby/object:Gem::Requirement
|
51
95
|
requirements:
|
52
96
|
- - "~>"
|
53
97
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
98
|
+
version: '13.0'
|
55
99
|
- !ruby/object:Gem::Dependency
|
56
100
|
name: rspec
|
57
101
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,20 +138,96 @@ dependencies:
|
|
94
138
|
- - ">="
|
95
139
|
- !ruby/object:Gem::Version
|
96
140
|
version: '0'
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
|
+
name: rubocop
|
143
|
+
requirement: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0'
|
148
|
+
type: :development
|
149
|
+
prerelease: false
|
150
|
+
version_requirements: !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0'
|
155
|
+
- !ruby/object:Gem::Dependency
|
156
|
+
name: rubocop-rails
|
157
|
+
requirement: !ruby/object:Gem::Requirement
|
158
|
+
requirements:
|
159
|
+
- - ">="
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '0'
|
162
|
+
type: :development
|
163
|
+
prerelease: false
|
164
|
+
version_requirements: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '0'
|
169
|
+
- !ruby/object:Gem::Dependency
|
170
|
+
name: byebug
|
171
|
+
requirement: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - ">="
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
176
|
+
type: :development
|
177
|
+
prerelease: false
|
178
|
+
version_requirements: !ruby/object:Gem::Requirement
|
179
|
+
requirements:
|
180
|
+
- - ">="
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '0'
|
183
|
+
- !ruby/object:Gem::Dependency
|
184
|
+
name: guard
|
185
|
+
requirement: !ruby/object:Gem::Requirement
|
186
|
+
requirements:
|
187
|
+
- - ">="
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
type: :development
|
191
|
+
prerelease: false
|
192
|
+
version_requirements: !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: '0'
|
197
|
+
- !ruby/object:Gem::Dependency
|
198
|
+
name: guard-rspec
|
199
|
+
requirement: !ruby/object:Gem::Requirement
|
200
|
+
requirements:
|
201
|
+
- - ">="
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
version: '0'
|
204
|
+
type: :development
|
205
|
+
prerelease: false
|
206
|
+
version_requirements: !ruby/object:Gem::Requirement
|
207
|
+
requirements:
|
208
|
+
- - ">="
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: '0'
|
97
211
|
description: Client for Ex Libris Alma Web Services
|
98
212
|
email:
|
213
|
+
- jennifer.anton@temple.edu
|
214
|
+
- david.kinzer@temple.edu
|
99
215
|
- chad.nelson@temple.edu
|
100
216
|
executables: []
|
101
217
|
extensions: []
|
102
218
|
extra_rdoc_files: []
|
103
219
|
files:
|
220
|
+
- ".circleci/config.yml"
|
221
|
+
- ".circleci/setup-rubygems.sh"
|
222
|
+
- ".github/dependabot.yml"
|
104
223
|
- ".gitignore"
|
105
224
|
- ".rspec"
|
225
|
+
- ".rubocop.yml"
|
106
226
|
- ".ruby-gemset"
|
107
227
|
- ".ruby-version"
|
108
|
-
- ".travis.yml"
|
109
228
|
- CODE_OF_CONDUCT.md
|
110
229
|
- Gemfile
|
230
|
+
- Guardfile
|
111
231
|
- LICENSE.txt
|
112
232
|
- README.md
|
113
233
|
- Rakefile
|
@@ -116,23 +236,43 @@ files:
|
|
116
236
|
- bin/setup
|
117
237
|
- lib/alma.rb
|
118
238
|
- lib/alma/alma_record.rb
|
119
|
-
- lib/alma/
|
239
|
+
- lib/alma/api_defaults.rb
|
120
240
|
- lib/alma/availability_response.rb
|
121
241
|
- lib/alma/bib.rb
|
242
|
+
- lib/alma/bib_holding.rb
|
243
|
+
- lib/alma/bib_item.rb
|
244
|
+
- lib/alma/bib_item_set.rb
|
122
245
|
- lib/alma/bib_set.rb
|
123
246
|
- lib/alma/config.rb
|
247
|
+
- lib/alma/course.rb
|
248
|
+
- lib/alma/course_set.rb
|
249
|
+
- lib/alma/electronic.rb
|
250
|
+
- lib/alma/electronic/README.md
|
251
|
+
- lib/alma/electronic/batch_utils.rb
|
252
|
+
- lib/alma/electronic/business.rb
|
124
253
|
- lib/alma/error.rb
|
254
|
+
- lib/alma/fine.rb
|
125
255
|
- lib/alma/fine_set.rb
|
256
|
+
- lib/alma/item_request_options.rb
|
257
|
+
- lib/alma/library.rb
|
258
|
+
- lib/alma/library_set.rb
|
126
259
|
- lib/alma/loan.rb
|
127
260
|
- lib/alma/loan_set.rb
|
261
|
+
- lib/alma/location.rb
|
262
|
+
- lib/alma/location_set.rb
|
128
263
|
- lib/alma/renewal_response.rb
|
264
|
+
- lib/alma/request.rb
|
265
|
+
- lib/alma/request_options.rb
|
129
266
|
- lib/alma/request_set.rb
|
267
|
+
- lib/alma/response.rb
|
130
268
|
- lib/alma/result_set.rb
|
131
269
|
- lib/alma/user.rb
|
270
|
+
- lib/alma/user_request.rb
|
132
271
|
- lib/alma/user_set.rb
|
133
272
|
- lib/alma/version.rb
|
134
273
|
- lib/alma/wadl/bib.wadl
|
135
274
|
- lib/alma/wadl/user.wadl
|
275
|
+
- log/.gitignore
|
136
276
|
homepage: https://github.com/tulibraries/alma_rb
|
137
277
|
licenses:
|
138
278
|
- MIT
|
@@ -152,8 +292,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
292
|
- !ruby/object:Gem::Version
|
153
293
|
version: '0'
|
154
294
|
requirements: []
|
155
|
-
|
156
|
-
rubygems_version: 2.5.2
|
295
|
+
rubygems_version: 3.1.4
|
157
296
|
signing_key:
|
158
297
|
specification_version: 4
|
159
298
|
summary: Client for Ex Libris Alma Web Services
|
data/.travis.yml
DELETED
data/lib/alma/api.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'ezwadl'
|
2
|
-
|
3
|
-
module Alma
|
4
|
-
module Api
|
5
|
-
|
6
|
-
|
7
|
-
def default_params
|
8
|
-
{ :query => { :apikey => Alma.configuration.apikey } }
|
9
|
-
end
|
10
|
-
|
11
|
-
def query_merge(hash)
|
12
|
-
{:query => default_params[:query].merge(hash)}
|
13
|
-
end
|
14
|
-
|
15
|
-
def resources
|
16
|
-
@resources ||= load_wadl
|
17
|
-
end
|
18
|
-
|
19
|
-
def load_wadl(wadl_filename = nil)
|
20
|
-
wadl_filename ||= set_wadl_filename
|
21
|
-
parsed_wadl = EzWadl::Parser.parse(File.join(Alma::WADL_DIR, wadl_filename)) do |rs|
|
22
|
-
rs.first.path = Alma.configuration.region
|
23
|
-
end
|
24
|
-
parsed_wadl.first
|
25
|
-
end
|
26
|
-
|
27
|
-
def set_wadl_filename
|
28
|
-
# Each class including this module should define this
|
29
|
-
raise NotImplementedError 'You must define the wadl_filename method'
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|