alma 0.2.4 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +54 -0
  3. data/.circleci/setup-rubygems.sh +3 -0
  4. data/.github/dependabot.yml +7 -0
  5. data/.gitignore +3 -0
  6. data/.rubocop.yml +134 -0
  7. data/.ruby-version +1 -1
  8. data/Gemfile +5 -1
  9. data/Guardfile +75 -0
  10. data/README.md +146 -57
  11. data/Rakefile +3 -1
  12. data/alma.gemspec +21 -12
  13. data/lib/alma.rb +34 -54
  14. data/lib/alma/alma_record.rb +3 -3
  15. data/lib/alma/api_defaults.rb +39 -0
  16. data/lib/alma/availability_response.rb +69 -31
  17. data/lib/alma/bib.rb +54 -29
  18. data/lib/alma/bib_holding.rb +25 -0
  19. data/lib/alma/bib_item.rb +164 -0
  20. data/lib/alma/bib_item_set.rb +93 -0
  21. data/lib/alma/bib_set.rb +5 -10
  22. data/lib/alma/config.rb +10 -4
  23. data/lib/alma/course.rb +47 -0
  24. data/lib/alma/course_set.rb +17 -0
  25. data/lib/alma/electronic.rb +167 -0
  26. data/lib/alma/electronic/README.md +20 -0
  27. data/lib/alma/electronic/batch_utils.rb +224 -0
  28. data/lib/alma/electronic/business.rb +29 -0
  29. data/lib/alma/error.rb +16 -4
  30. data/lib/alma/fine.rb +16 -0
  31. data/lib/alma/fine_set.rb +41 -8
  32. data/lib/alma/item_request_options.rb +23 -0
  33. data/lib/alma/library.rb +29 -0
  34. data/lib/alma/library_set.rb +21 -0
  35. data/lib/alma/loan.rb +31 -2
  36. data/lib/alma/loan_set.rb +62 -4
  37. data/lib/alma/location.rb +29 -0
  38. data/lib/alma/location_set.rb +21 -0
  39. data/lib/alma/renewal_response.rb +25 -14
  40. data/lib/alma/request.rb +167 -0
  41. data/lib/alma/request_options.rb +66 -0
  42. data/lib/alma/request_set.rb +69 -5
  43. data/lib/alma/response.rb +45 -0
  44. data/lib/alma/result_set.rb +27 -35
  45. data/lib/alma/user.rb +142 -86
  46. data/lib/alma/user_request.rb +19 -0
  47. data/lib/alma/user_set.rb +5 -6
  48. data/lib/alma/version.rb +3 -1
  49. data/log/.gitignore +4 -0
  50. metadata +149 -10
  51. data/.travis.yml +0 -5
  52. 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
- 'users'
6
-
6
+ "users"
7
7
  end
8
8
 
9
9
  def response_records_key
10
- 'user'
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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alma
2
- VERSION = "0.2.4"
4
+ VERSION = "0.3.2"
3
5
  end
data/log/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ # Ignore everything in this directory
2
+ *
3
+ # Except this file
4
+ !.gitignore
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
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: 2017-03-08 00:00:00.000000000 Z
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: '1.13'
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: '1.13'
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: '10.0'
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: '10.0'
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/api.rb
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
- rubyforge_project:
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
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.3
5
- before_install: gem install bundler -v 1.13.7
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