ebsco-eds 0.3.12.pre → 0.3.13.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4f34a2f1413eab073c1b0b2f2509338af1a5c3e
4
- data.tar.gz: deff1b5f31a7da1d4004b369b943bcb8942fb32e
3
+ metadata.gz: b9e860b62850669e12c05428b96cf60813ac78c8
4
+ data.tar.gz: 4554be6442500a21b804a15a2deebfbe33813344
5
5
  SHA512:
6
- metadata.gz: 1f960b731df8741229d42f13809a6ded2cde56d717eab644603ee5d9cd31025b01aad317bb99b311014df38edf4fb281c29d2bc8b82c66cffd55da4d2d57dc11
7
- data.tar.gz: 687cb32c89a654aecbe0a73d7ef9afa08047a29bb8149dd6a24ade108ab70df7ad2b89129687ee5a0465b442f903a55ac5e1d91a95aacba80754e09c76ed50d1
6
+ metadata.gz: 8343edbc0a89f8f06a1a7e39ef0dfbc5da128fd2f18f113bde79e9b72f2a8beeca2697145cacd475a3fe59476c93b50a9bc4a705e21ec765af39aef04ba4a1a3
7
+ data.tar.gz: cca4e95649cca637ea8cdbdc00394c07bb016d50005d0a1420f820261a12b9004dc240bc119551188dfeda5551f0e9c647df765ef5f2ebc2443b650fa6339186
@@ -86,6 +86,7 @@ module EBSCO
86
86
  # end
87
87
 
88
88
 
89
+ # Caution: experimental, not ready for production
89
90
  # query-1=AND,volcano&sort=relevance&includefacets=y&searchmode=all&autosuggest=n&view=brief&resultsperpage=20&pagenumber=1&highlight=y
90
91
  def to_query_string
91
92
  qs = ''
@@ -117,7 +118,7 @@ module EBSCO
117
118
 
118
119
  # limiters
119
120
  unless @SearchCriteria.Limiters.nil?
120
- qs << '&limiter=' + @SearchCriteria.Limiters
121
+ qs << '&limiter=' + @SearchCriteria.Limiters.join(',')
121
122
  end
122
123
 
123
124
  # expanders
@@ -125,7 +126,7 @@ module EBSCO
125
126
 
126
127
  # facet filters
127
128
  unless @SearchCriteria.FacetFilters.nil?
128
- qs << '&facetfilter=1,' + @SearchCriteria.FacetFilters
129
+ qs << '&facetfilter=1,' + @SearchCriteria.FacetFilters.join(',')
129
130
  end
130
131
 
131
132
  # related content
@@ -144,7 +145,7 @@ module EBSCO
144
145
  qs << '&pagenumber=' + @RetrievalCriteria.PageNumber.to_s
145
146
  end
146
147
  unless @RetrievalCriteria.Highlight.nil?
147
- qs << '&highlight=' + @RetrievalCriteria.Highlight
148
+ qs << '&highlight=' + @RetrievalCriteria.Highlight.to_s
148
149
  end
149
150
 
150
151
  unless @Actions.nil?
@@ -160,49 +160,54 @@ module EBSCO
160
160
  @id = @eds_database_id + '__' + @eds_accession_number
161
161
  @eds_title = title
162
162
  @eds_source_title = source_title
163
- @eds_composed_title = get_item_data_by_name('TitleSource')
164
- @eds_other_titles = get_item_data_by_name('TitleAlt')
165
- @eds_abstract = get_item_data_by_name('Abstract')
163
+ @eds_composed_title = get_item_data({name: 'TitleSource'})
164
+ @eds_other_titles = get_item_data({name: 'TitleAlt'})
165
+ @eds_abstract = get_item_data({name: 'Abstract'})
166
166
  @eds_authors = bib_authors_list
167
- @eds_authors_composed = get_item_data_by_name('Author')
168
- @eds_author_affiliations = get_item_data_by_name('AffiliationAuthor')
169
- @eds_subjects = get_item_data_by_name('Subject') || bib_subjects
170
- @eds_subjects_geographic = get_item_data_by_name('SubjectGeographic')
171
- @eds_subjects_person = get_item_data_by_name('SubjectPerson')
172
- @eds_subjects_company = get_item_data_by_name('SubjectCompany')
173
- @eds_subjects_bisac = get_item_data_by_name('SubjectBISAC')
174
- @eds_subjects_mesh = get_item_data_by_name('SubjectMESH')
175
- @eds_subjects_genre = get_item_data_by_name('SubjectGenre')
176
- @eds_author_supplied_keywords = get_item_data_by_name('Keyword')
177
- @eds_notes = get_item_data_by_name('Note')
178
- @eds_subset = get_item_data_by_name('Subset')
179
- @eds_languages = get_item_data_by_name('Language') || bib_languages
167
+ @eds_authors_composed = get_item_data({name: 'Author'})
168
+ @eds_author_affiliations = get_item_data({name: 'AffiliationAuthor'})
169
+ @eds_subjects =
170
+ get_item_data({name: 'Subject', label: 'Subject Terms', group: 'Su'}) ||
171
+ get_item_data({name: 'Subject', label: 'Subject Indexing', group: 'Su'}) ||
172
+ bib_subjects
173
+ @eds_subjects_geographic =
174
+ get_item_data({name: 'SubjectGeographic', label: 'Geographic Terms', group: 'Su'}) ||
175
+ get_item_data({name: 'Subject', label: 'Subject Geographic', group: 'Su'})
176
+ @eds_subjects_person = get_item_data({name: 'SubjectPerson'})
177
+ @eds_subjects_company = get_item_data({name: 'SubjectCompany'})
178
+ @eds_subjects_bisac = get_item_data({name: 'SubjectBISAC'})
179
+ @eds_subjects_mesh = get_item_data({name: 'SubjectMESH'})
180
+ @eds_subjects_genre = get_item_data({name: 'SubjectGenre'})
181
+ @eds_author_supplied_keywords = get_item_data({name: 'Keyword'})
182
+ @eds_notes = get_item_data({name: 'Note'})
183
+ @eds_subset = get_item_data({name: 'Subset'})
184
+ @eds_languages = get_item_data({name: 'Language'}) || bib_languages
180
185
  @eds_page_count = bib_page_count
181
186
  @eds_page_start = bib_page_start
182
- @eds_physical_description = get_item_data_by_name('PhysDesc')
183
- @eds_publication_type = @record['Header']['PubType'] || get_item_data_by_name('TypePub')
187
+ @eds_physical_description = get_item_data({name: 'PhysDesc'})
188
+ @eds_publication_type = @record['Header']['PubType'] || get_item_data({name: 'TypePub'})
184
189
  @eds_publication_type_id = @record['Header']['PubTypeId']
185
- @eds_publication_date = bib_publication_date || get_item_data_by_name('DatePub')
186
- @eds_publication_year = bib_publication_year || get_item_data_by_name('DatePub')
187
- @eds_publication_info = get_item_data_by_label('Publication Information')
188
- @eds_publication_status = get_item_data_by_label('Publication Status')
189
- @eds_publisher = get_item_data_by_name('Publisher')
190
- @eds_document_type = get_item_data_by_name('TypeDocument')
191
- @eds_document_doi = get_item_data_by_name('DOI') || bib_doi
192
- @eds_document_oclc = get_item_data_by_label('OCLC')
193
- @eds_issn_print = get_item_data_by_name('ISSN') || bib_issn_print
190
+ @eds_publication_date = bib_publication_date || get_item_data({name: 'DatePub'})
191
+ @eds_publication_year = bib_publication_year || get_item_data({name: 'DatePub'})
192
+ @eds_publication_info = get_item_data({label: 'Publication Information'})
193
+ @eds_publication_status = get_item_data({label: 'Publication Status'})
194
+ @eds_publisher = get_item_data({name: 'Publisher'})
195
+ @eds_document_type = get_item_data({name: 'TypeDocument'})
196
+ @eds_document_doi = get_item_data({name: 'DOI'}) || bib_doi
197
+ @eds_document_oclc = get_item_data({label: 'OCLC'})
198
+ @eds_issn_print = get_item_data({name: 'ISSN'}) || bib_issn_print
194
199
  @eds_issns = bib_issns
195
200
  @eds_isbn_print = bib_isbn_print
196
201
  @eds_isbns_related = item_related_isbns
197
202
  @eds_isbn_electronic = bib_isbn_electronic
198
203
  @eds_isbns = bib_isbns || item_related_isbns
199
- @eds_series = get_item_data_by_name('SeriesInfo')
204
+ @eds_series = get_item_data({name: 'SeriesInfo'})
200
205
  @eds_volume = bib_volume
201
206
  @eds_issue = bib_issue
202
207
  @eds_covers = images
203
208
  @eds_cover_thumb_url = cover_thumb_url
204
209
  @eds_cover_medium_url = cover_medium_url
205
- @eds_fulltext_word_count = get_item_data_by_name('FullTextWordCount').to_i
210
+ @eds_fulltext_word_count = get_item_data({name: 'FullTextWordCount'}).to_i
206
211
  @eds_html_fulltext_available = html_fulltext_available
207
212
  @eds_html_fulltext = html_fulltext
208
213
  @eds_images = images
@@ -213,12 +218,12 @@ module EBSCO
213
218
  @eds_ebook_epub_fulltext_available = false
214
219
  @eds_fulltext_links = fulltext_links
215
220
  @eds_non_fulltext_links = non_fulltext_links
216
- @eds_code_naics = get_item_data_by_name('CodeNAICS')
217
- @eds_abstract_supplied_copyright = get_item_data_by_name('AbstractSuppliedCopyright')
218
- @eds_descriptors = get_item_data_by_label('Descriptors')
221
+ @eds_code_naics = get_item_data({name: 'CodeNAICS'})
222
+ @eds_abstract_supplied_copyright = get_item_data({name: 'AbstractSuppliedCopyright'})
223
+ @eds_descriptors = get_item_data({label: 'Descriptors'})
219
224
  @eds_publication_id = @record['Header']['PublicationId']
220
225
  @eds_publication_is_searchable = @record['Header']['IsSearchable']
221
- @eds_publication_scope_note = get_item_data_by_name('NoteScope')
226
+ @eds_publication_scope_note = get_item_data({name: 'NoteScope'})
222
227
 
223
228
  # add item metadata
224
229
  @items.each do |item|
@@ -245,8 +250,7 @@ module EBSCO
245
250
 
246
251
  # The title.
247
252
  def title
248
- # _retval = get_item_data_by_name('Title') || bib_title
249
- _retval = bib_title || get_item_data_by_name('Title')
253
+ _retval = bib_title || get_item_data({name: 'Title'})
250
254
  # TODO: make this configurable
251
255
  if _retval.nil?
252
256
  _retval = 'This title is unavailable for guests, please login to see more information.'
@@ -256,7 +260,7 @@ module EBSCO
256
260
 
257
261
  # The source title (example: 'Salem Press Encyclopedia')
258
262
  def source_title
259
- _retval = bib_source_title || get_item_data_by_name('TitleSource')
263
+ _retval = bib_source_title || get_item_data({name: 'TitleSource'})
260
264
  _reval = nil? if _retval == title # suppress if it's identical to title
261
265
  _retval.nil?? nil : _retval
262
266
  end
@@ -313,7 +317,7 @@ module EBSCO
313
317
 
314
318
  # related ISBNs
315
319
  def item_related_isbns
316
- isbns = get_item_data_by_label('Related ISBNs')
320
+ isbns = get_item_data({label: 'Related ISBNs'})
317
321
  if isbns
318
322
  isbns.split(' ').map!{|item| item.gsub(/\.$/, '')}
319
323
  else
@@ -742,33 +746,6 @@ module EBSCO
742
746
  # ITEM DATA HELPERS
743
747
  # ====================================================================================
744
748
 
745
- # look up by 'Name' and return 'Data'
746
- def get_item_data_by_name(name)
747
- if @items.empty?
748
- nil
749
- else
750
- _item_property = @items.find{|item| item['Name'] == name}
751
- if _item_property.nil?
752
- nil
753
- else
754
- sanitize_data(_item_property['Data'])
755
- end
756
- end
757
- end
758
-
759
- # look up by 'Label' and return 'Data'
760
- def get_item_data_by_label(label)
761
- if @items.empty?
762
- nil
763
- else
764
- _item_property = @items.find{|item| item['Label'] == label}
765
- if _item_property.nil?
766
- nil
767
- else
768
- sanitize_data(_item_property['Data'])
769
- end
770
- end
771
- end
772
749
 
773
750
  def get_item_data(options)
774
751
 
@@ -780,9 +757,11 @@ module EBSCO
780
757
 
781
758
  @items.each do |item|
782
759
  if item['Name'] == options[:name] && item['Label'] == options[:label] && item['Group'] == options[:group]
760
+ # puts 'FOUND ALL 3: ' + item.inspect
783
761
  return sanitize_data(item['Data'])
784
762
  end
785
763
  end
764
+ return nil
786
765
 
787
766
  elsif options[:name] and options[:label]
788
767
 
@@ -791,6 +770,7 @@ module EBSCO
791
770
  return sanitize_data(item['Data'])
792
771
  end
793
772
  end
773
+ return nil
794
774
 
795
775
  elsif options[:name] and options[:group]
796
776
 
@@ -799,6 +779,7 @@ module EBSCO
799
779
  return sanitize_data(item['Data'])
800
780
  end
801
781
  end
782
+ return nil
802
783
 
803
784
  elsif options[:label] and options[:group]
804
785
 
@@ -807,6 +788,7 @@ module EBSCO
807
788
  return sanitize_data(item['Data'])
808
789
  end
809
790
  end
791
+ return nil
810
792
 
811
793
  elsif options[:label]
812
794
 
@@ -815,6 +797,7 @@ module EBSCO
815
797
  return sanitize_data(item['Data'])
816
798
  end
817
799
  end
800
+ return nil
818
801
 
819
802
  elsif options[:name]
820
803
 
@@ -823,6 +806,7 @@ module EBSCO
823
806
  return sanitize_data(item['Data'])
824
807
  end
825
808
  end
809
+ return nil
826
810
 
827
811
  else
828
812
  nil
@@ -761,12 +761,10 @@ module EBSCO
761
761
  if jump_payload.Comment == 'jump_request'
762
762
  is_jump_retry = true
763
763
  puts '138 JUMP RETRY ================================================================' if @debug
764
- sleep Random.new.rand(1..3)
765
764
  do_jump_request(method, path: path, payload: jump_payload, attempt: attempt+1)
766
765
  elsif jump_payload.Comment == 'jump_request_orig'
767
766
  is_orig_retry = true
768
767
  puts '138 ORIG RETRY ================================================================' if @debug
769
- sleep Random.new.rand(1..3)
770
768
  jump_response = do_jump_request(method, path: path, payload: payload, attempt: attempt+1)
771
769
  if jump_response.success?
772
770
  return jump_response.body
@@ -1,5 +1,5 @@
1
1
  module EBSCO
2
2
  module EDS
3
- VERSION = '0.3.12.pre'
3
+ VERSION = '0.3.13.pre'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ebsco-eds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.12.pre
4
+ version: 0.3.13.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bill McKinney
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-09-11 00:00:00.000000000 Z
12
+ date: 2017-09-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday