voyager_api 0.2.2 → 0.2.3

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.2.3
@@ -113,7 +113,7 @@ module Voyager
113
113
  :location_name => holding[:location_name],
114
114
  :call_number => holding[:call_number],
115
115
  :status => '',
116
- :holding_id => holding[:holding_id],
116
+ :holding_id => [],
117
117
  :copies => [],
118
118
  :services => []
119
119
  }
@@ -121,6 +121,9 @@ module Voyager
121
121
  entries << entry
122
122
  end
123
123
 
124
+ # add holding_id
125
+ entry[:holding_id] << holding[:holding_id]
126
+
124
127
  # for simple holdings put consolidated status information in the first copy
125
128
  if complexity == :simple
126
129
  item_status = holding[:item_status]
@@ -262,10 +265,11 @@ module Voyager
262
265
  entries
263
266
  when :brief
264
267
  entries.collect do |entry|
265
- {:location_name => entry[:location_name],
268
+ { :holding_id => entry[:holding_id],
269
+ :location_name => entry[:location_name],
266
270
  :call_number => entry[:call_number],
267
271
  :status => entry[:status],
268
- :services => entry[:services]}
272
+ :services => entry[:services] }
269
273
  end
270
274
  end
271
275
 
@@ -342,12 +342,16 @@ module Voyager
342
342
  if location_name.match(/^Offsite/) &&
343
343
  HTTPClient.new.get_content("http://www.columbia.edu/cgi-bin/cul/lookupNBX?" + bibid) == "1"
344
344
  return ['offsite']
345
- end
346
345
  # precat
347
- if location_name.match(/^Precat/)
348
- return ['precat']
346
+ elsif location_name.match(/^Precat/)
347
+ return ['precat']
348
+ #doc delivery
349
+ elsif ['Butler Stacks', 'Butler Reference', 'African', 'Comp Lit', 'Early Modern', 'Islamic', 'Latin American',
350
+ 'Ancient', 'Moral', 'Papyrus', 'Edward Said', 'South Asian', 'US History'].any? { |loc| location_name.match(/^#{loc}/) }
351
+ return ['doc_delivery']
352
+ else
353
+ return []
349
354
  end
350
- return []
351
355
  end
352
356
 
353
357
  def process_some_available(location_name,bibid,messages)
@@ -357,6 +361,13 @@ module Voyager
357
361
  if location_name.match(/^Offsite/) &&
358
362
  HTTPClient.new.get_content("http://www.columbia.edu/cgi-bin/cul/lookupNBX?" + bibid) == "1"
359
363
  services << 'offsite'
364
+ # precat
365
+ elsif location_name.match(/^Precat/)
366
+ services << 'precat'
367
+ # doc delivery
368
+ elsif ['Butler Stacks', 'Butler Reference', 'African', 'Comp Lit', 'Early Modern', 'Islamic', 'Latin American',
369
+ 'Ancient', 'Moral', 'Papyrus', 'Edward Said', 'South Asian', 'US History'].any? { |loc| location_name.match(/^#{loc}/) }
370
+ services << 'doc_delivery'
360
371
  end
361
372
 
362
373
  services << scan_messages(messages)
@@ -17,7 +17,7 @@ class TestCollectionOutput < HoldingsTestCase
17
17
 
18
18
  coll = load_fixture("holdings_5351573.xml")
19
19
  output = coll.to_hash
20
- coll = load_fixture("holdings_8430339.xml")
20
+ coll = load_fixture("holdings_8661671.xml")
21
21
  output = coll.to_hash
22
22
  # assert_equal '', output
23
23
  end
@@ -49,6 +49,11 @@ class TestCollectionOutput < HoldingsTestCase
49
49
  output = coll.to_hash(:output_type => :condensed)
50
50
  assert_kind_of Array, output[:condensed_holdings_full]
51
51
  assert_equal 'Order Information: In the Pre-Order Process. Try Borrow Direct or ILL.', output[:condensed_holdings_full].first[:copies].first[:orders]
52
+
53
+ coll = load_fixture("holdings_8661671.xml")
54
+ output = coll.to_hash(:output_type => :condensed)
55
+ assert_kind_of Array, output[:condensed_holdings_full]
56
+ assert_equal ["11739902", "11739903", "11740343"], output[:condensed_holdings_full][1][:holding_id]
52
57
 
53
58
  end
54
59
 
@@ -63,7 +68,7 @@ class TestCollectionOutput < HoldingsTestCase
63
68
  assert_equal 'Butler Stacks (Enter at the Butler Circulation Desk)', output[:condensed_holdings_brief].first[:location_name]
64
69
  assert_equal 'BL80.3 .D74 2011', output[:condensed_holdings_brief].first[:call_number]
65
70
  assert_equal 'available', output[:condensed_holdings_brief].first[:status]
66
- assert_equal [], output[:condensed_holdings_brief].first[:services]
71
+ assert_equal ["doc_delivery"], output[:condensed_holdings_brief].first[:services]
67
72
 
68
73
  coll = load_fixture("holdings_2606957.xml")
69
74
  output = coll.to_hash(:output_type => :condensed, :content_type => :brief)
@@ -166,7 +166,7 @@ class TestHoldings < HoldingsTestCase
166
166
 
167
167
  record = load_fixture("holdings_4191079.xml").records[2]
168
168
  assert_equal 'some_available', record.item_status[:status]
169
- assert_equal ["recall_hold", "borrow_direct", "ill"], record.services, 'recall, BD, ILL'
169
+ assert_equal ["doc_delivery", "recall_hold", "borrow_direct", "ill"], record.services, 'recall, BD, ILL'
170
170
  end
171
171
 
172
172
  def test_services_checkout_status_patron
@@ -176,7 +176,7 @@ class TestHoldings < HoldingsTestCase
176
176
 
177
177
  record = load_fixture("holdings_4191079.xml").records[3]
178
178
  assert_equal 'some_available', record.item_status[:status]
179
- assert_equal ["borrow_direct", "ill"], record.services, 'BD, ILL'
179
+ assert_equal ["doc_delivery", "borrow_direct", "ill"], record.services, 'BD, ILL'
180
180
  end
181
181
 
182
182
  def test_services_offsite
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: voyager_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-10-13 00:00:00.000000000Z
13
+ date: 2011-10-14 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
17
- requirement: &70112004706100 !ruby/object:Gem::Requirement
17
+ requirement: &2153202080 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70112004706100
25
+ version_requirements: *2153202080
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: i18n
28
- requirement: &70112004705360 !ruby/object:Gem::Requirement
28
+ requirement: &2153201440 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70112004705360
36
+ version_requirements: *2153201440
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: httpclient
39
- requirement: &70112004704220 !ruby/object:Gem::Requirement
39
+ requirement: &2153200720 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70112004704220
47
+ version_requirements: *2153200720
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: nokogiri
50
- requirement: &70112004703640 !ruby/object:Gem::Requirement
50
+ requirement: &2153200040 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70112004703640
58
+ version_requirements: *2153200040
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: minitest
61
- requirement: &70112004703020 !ruby/object:Gem::Requirement
61
+ requirement: &2153199460 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *70112004703020
69
+ version_requirements: *2153199460
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: bundler
72
- requirement: &70112004702100 !ruby/object:Gem::Requirement
72
+ requirement: &2153198940 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 1.0.0
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *70112004702100
80
+ version_requirements: *2153198940
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: jeweler
83
- requirement: &70112004701300 !ruby/object:Gem::Requirement
83
+ requirement: &2153198400 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 1.6.4
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *70112004701300
91
+ version_requirements: *2153198400
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: rcov
94
- requirement: &70112004700400 !ruby/object:Gem::Requirement
94
+ requirement: &2153197780 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *70112004700400
102
+ version_requirements: *2153197780
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: guard-minitest
105
- requirement: &70112004699660 !ruby/object:Gem::Requirement
105
+ requirement: &2153196980 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *70112004699660
113
+ version_requirements: *2153196980
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rb-fsevent
116
- requirement: &70112004699060 !ruby/object:Gem::Requirement
116
+ requirement: &2153196320 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *70112004699060
124
+ version_requirements: *2153196320
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: mocha
127
- requirement: &70112004698500 !ruby/object:Gem::Requirement
127
+ requirement: &2153195480 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *70112004698500
135
+ version_requirements: *2153195480
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: growl
138
- requirement: &70112004698000 !ruby/object:Gem::Requirement
138
+ requirement: &2153193920 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ! '>='
@@ -143,7 +143,7 @@ dependencies:
143
143
  version: '0'
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *70112004698000
146
+ version_requirements: *2153193920
147
147
  description: ! 'Middleware gem for Voyager 7 API calls, specificially holdings information '
148
148
  email: github@jamesstuart.org
149
149
  executables: []
@@ -225,7 +225,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
225
225
  version: '0'
226
226
  segments:
227
227
  - 0
228
- hash: -629818808494470836
228
+ hash: -943639021231407938
229
229
  required_rubygems_version: !ruby/object:Gem::Requirement
230
230
  none: false
231
231
  requirements:
@@ -234,7 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
234
  version: '0'
235
235
  requirements: []
236
236
  rubyforge_project:
237
- rubygems_version: 1.8.10
237
+ rubygems_version: 1.8.6
238
238
  signing_key:
239
239
  specification_version: 3
240
240
  summary: Columbia University Voyager 7 API wrapper