ebsco-eds 0.0.5.pre → 0.0.6.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: 43e9ebad04e9e0aaa2b87f2e25d10e1cfad40934
4
- data.tar.gz: 94e000ec7b6f2ccac3514dfa6fce6c567df90d76
3
+ metadata.gz: 52a371da7111d83a7616bdd5de68deabd1c6983a
4
+ data.tar.gz: 00fae54472789a602ad4cd50cab93f88d4778308
5
5
  SHA512:
6
- metadata.gz: debbac1ad692666481d61fafe2c67fb667bd44f6c3f6de810720f96caea1da7569632193e20760a7abb151a9eb63baf2de7fe3ed168ffdf64816eea6c3fc7496
7
- data.tar.gz: 8c30c14fee4443d7403985ccb9fa58c7e5c21c49666813c0836378439eeebb91ce4f655a028b8764f1a31a8230cab485cb1987f758a2d42d16d685af32503f5b
6
+ metadata.gz: b195bf1718c6715555487dc15f3d2eaccd62e5a2ec7152fb606a7a07a069b95a66d7758c83b5a04fd7d321b05889965e7e9c75e8eedf7d0933b6244f0ede8207
7
+ data.tar.gz: a4b22c20bcc5c092dd55414e4cfd4a427049e277e10c2cd4ce76ac8f27184daa9fa69334cd28e4ab2f5afa2885407bb00c0ddabfe55ae319b242b169c9b28daa
@@ -36,57 +36,66 @@ module EBSCO
36
36
  @Actions.push "addfacetfilter(SourceType:#{item})"
37
37
  end
38
38
  end
39
+
39
40
  if value.has_key?('language_facet')
40
41
  lang_list = value['language_facet']
41
42
  lang_list.each do |item|
42
43
  @Actions.push "addfacetfilter(Language:#{item})"
43
44
  end
44
45
  end
46
+
45
47
  if value.has_key?('subject_topic_facet')
46
48
  subj_list = value['subject_topic_facet']
47
49
  subj_list.each do |item|
48
50
  @Actions.push "addfacetfilter(SubjectEDS:#{item})"
49
51
  end
50
52
  end
53
+
51
54
  if value.has_key?('geographic_facet')
52
55
  subj_list = value['geographic_facet']
53
56
  subj_list.each do |item|
54
57
  @Actions.push "addfacetfilter(SubjectGeographic:#{item})"
55
58
  end
56
59
  end
60
+
57
61
  if value.has_key?('publisher_facet')
58
62
  subj_list = value['publisher_facet']
59
63
  subj_list.each do |item|
60
64
  @Actions.push "addfacetfilter(Publisher:#{item})"
61
65
  end
62
66
  end
67
+
63
68
  if value.has_key?('journal_facet')
64
69
  subj_list = value['journal_facet']
65
70
  subj_list.each do |item|
66
71
  @Actions.push "addfacetfilter(Journal:#{item})"
67
72
  end
68
73
  end
74
+
69
75
  if value.has_key?('category_facet')
70
76
  subj_list = value['category_facet']
71
77
  subj_list.each do |item|
72
78
  @Actions.push "addfacetfilter(Category:#{item})"
73
79
  end
74
80
  end
81
+
75
82
  if value.has_key?('content_provider_facet')
76
83
  subj_list = value['content_provider_facet']
77
84
  subj_list.each do |item|
78
85
  @Actions.push "addfacetfilter(ContentProvider:#{item})"
79
86
  end
80
87
  end
88
+
81
89
  if value.has_key?('library_location_facet')
82
90
  subj_list = value['library_location_facet']
83
91
  subj_list.each do |item|
84
92
  @Actions.push "addfacetfilter(LocationLibrary:#{item})"
85
93
  end
86
94
  end
95
+
87
96
  if value.has_key?('search_limiters')
88
- subj_list = value['search_limiters']
89
- subj_list.each do |item|
97
+ _list = value['search_limiters']
98
+ _list.each do |item|
90
99
  if item == 'Full Text'
91
100
  @Actions.push "addlimiter(FT:y)"
92
101
  end
@@ -99,6 +108,34 @@ module EBSCO
99
108
  end
100
109
  end
101
110
 
111
+ if value.has_key?('pub_date_facet')
112
+ _list = value['pub_date_facet']
113
+ _this_year = Date.today.year
114
+ _this_month = Date.today.month
115
+ _list.each do |item|
116
+ if item == 'This year'
117
+ _range = _this_year.to_s + '-01/' + _this_year.to_s + '-' + _this_month.to_s
118
+ @Actions.push "addlimiter(DT1:#{_range})"
119
+ end
120
+ if item == 'Last 3 years'
121
+ _range = (_this_year-3).to_s + '-' + _this_month.to_s + '/' + _this_year.to_s + '-' + _this_month.to_s
122
+ @Actions.push "addlimiter(DT1:#{_range})"
123
+ end
124
+ if item == 'Last 10 years'
125
+ _range = (_this_year-10).to_s + '-' + _this_month.to_s + '/' + _this_year.to_s + '-' + _this_month.to_s
126
+ @Actions.push "addlimiter(DT1:#{_range})"
127
+ end
128
+ if item == 'Last 50 years'
129
+ _range = (_this_year-50).to_s + '-' + _this_month.to_s + '/' + _this_year.to_s + '-' + _this_month.to_s
130
+ @Actions.push "addlimiter(DT1:#{_range})"
131
+ end
132
+ if item == 'More than 50 years ago'
133
+ _range = '0000-01/' + (_this_year-50).to_s + '-12'
134
+ @Actions.push "addlimiter(DT1:#{_range})"
135
+ end
136
+ end
137
+ end
138
+
102
139
  else
103
140
 
104
141
  end
@@ -22,7 +22,7 @@ module EBSCO
22
22
  if results_record.key? 'Record'
23
23
  @record = results_record['Record'] # single record returned by retrieve api
24
24
  else
25
- @record = results_record # set of records returned by search api
25
+ @record = results_record # set of records returned by search api
26
26
  end
27
27
 
28
28
  @items = @record.fetch('Items', {})
@@ -79,7 +79,7 @@ module EBSCO
79
79
  # The title.
80
80
  def title
81
81
  _retval = get_item_data_by_name('Title') || bib_title
82
- # todo: make this configurable
82
+ # TODO: make this configurable
83
83
  if _retval.nil?
84
84
  _retval = 'This title is unavailable for guests, please login to see more information.'
85
85
  end
@@ -812,6 +812,9 @@ module EBSCO
812
812
  if cover_medium_url
813
813
  hash['cover_medium_url'] = cover_medium_url
814
814
  end
815
+ if all_links
816
+ hash['links'] = all_links
817
+ end
815
818
  hash
816
819
  end
817
820
 
@@ -121,6 +121,7 @@ module EBSCO
121
121
  category_facet = solr_facets('Category')
122
122
  content_provider_facet = solr_facets('ContentProvider')
123
123
  library_location_facet = solr_facets('LocationLibrary')
124
+ pub_date_facet = solr_pub_date_facets
124
125
  facet = true
125
126
 
126
127
  # solr response
@@ -149,6 +150,7 @@ module EBSCO
149
150
  'format' => format,
150
151
  'language_facet' => language_facet,
151
152
  'subject_topic_facet' => subject_topic_facet,
153
+ 'pub_date_facet' => pub_date_facet,
152
154
  'publisher_facet' => publisher_facet,
153
155
  'journal_facet' => journal_facet,
154
156
  'geographic_facet' => geographic_facet,
@@ -161,6 +163,24 @@ module EBSCO
161
163
 
162
164
  end
163
165
 
166
+ # Publication date facets:
167
+ # - This year
168
+ # - Last 3 years
169
+ # - Last 10 years
170
+ # - Last 50 years
171
+ # - More than 50 years ago
172
+ def solr_pub_date_facets
173
+ pub_date_facets = []
174
+ if stat_total_hits.to_i > 0
175
+ pub_date_facets.push('This year').push('')
176
+ pub_date_facets.push('Last 3 years').push('')
177
+ pub_date_facets.push('Last 10 years').push('')
178
+ pub_date_facets.push('Last 50 years').push('')
179
+ pub_date_facets.push('More than 50 years ago').push('')
180
+ end
181
+ pub_date_facets
182
+ end
183
+
164
184
  # Translate limiters found in calls to Info endpoint into solr facet fields if they are turned on
165
185
  def solr_search_limiters
166
186
  search_limiters = []
@@ -108,16 +108,24 @@ module EBSCO
108
108
  @auth_token = create_auth_token
109
109
  end
110
110
 
111
- if options.has_key? :session_token
111
+ if options.key? :session_token
112
112
  @session_token = options[:session_token]
113
113
  else
114
114
  @session_token = create_session_token
115
115
  end
116
116
 
117
- @info = EBSCO::EDS::Info.new(do_request(:get, path: INFO_URL))
117
+ @info ||= EBSCO::EDS::Info.new(do_request(:get, path: INFO_URL))
118
118
  @current_page = 0
119
119
  @search_options = nil
120
120
 
121
+ # DEBUG
122
+ # if options.key? :caller
123
+ # puts 'CREATE SESSION CALLER: ' + options[:caller].inspect
124
+ # puts 'CALLER OPTIONS: ' + options.inspect
125
+ # end
126
+ # puts 'AUTH TOKEN: ' + @auth_token.inspect
127
+ # puts 'SESSION TOKEN: ' + @session_token.inspect
128
+
121
129
  end
122
130
 
123
131
  # :category: Search & Retrieve Methods
@@ -208,9 +216,11 @@ module EBSCO
208
216
  # record = session.retrieve({dbid: 'asn', an: '108974507'})
209
217
  #
210
218
  def retrieve(dbid:, an:, highlight: nil, ebook: 'ebook-pdf')
211
- payload = {:DbId => dbid, :An => an, :HighlightTerms => highlight, :EbookPreferredFormat => ebook}
219
+ payload = { DbId: dbid, An: an, HighlightTerms: highlight, EbookPreferredFormat: ebook }
212
220
  retrieve_response = do_request(:post, path: RETRIEVE_URL, payload: payload)
213
- EBSCO::EDS::Record.new(retrieve_response)
221
+ record = EBSCO::EDS::Record.new(retrieve_response)
222
+ # puts 'RECORD: ' + record.pretty_inspect
223
+ record
214
224
  end
215
225
 
216
226
  def solr_retrieve_list(list: [], highlight: nil, ebook: 'ebook-pdf')
@@ -558,10 +568,10 @@ module EBSCO
558
568
  end
559
569
  end
560
570
  resp.body
561
- rescue Exception => e
571
+ rescue StandardError => e
562
572
  if e.respond_to? 'fault'
563
573
  error_code = e.fault[:error_body]['ErrorNumber'] || e.fault[:error_body]['ErrorCode']
564
- if not error_code.nil?
574
+ unless error_code.nil?
565
575
  case error_code
566
576
  # session token missing
567
577
  when '108', '109'
@@ -1,5 +1,5 @@
1
1
  module EBSCO
2
2
  module EDS
3
- VERSION = '0.0.5.pre'
3
+ VERSION = '0.0.6.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.0.5.pre
4
+ version: 0.0.6.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-03-25 00:00:00.000000000 Z
12
+ date: 2017-03-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday