ebsco-eds 0.3.12.pre → 0.3.13.pre

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 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