exlibris-aleph 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NmY2Y2UwNjVkZjE2NzA5ODE0ODgxNDM0MWQ4NDEwNzM5YWZiYzQ1OQ==
4
+ NjZlNDU1MDg1Y2QwNjU3ZjgwMmFhOTgzZjNkMzkzOGJiNDJmMGY0Mw==
5
5
  data.tar.gz: !binary |-
6
- MmY3YzU3MjhiNjk5NGVmNzdkODU5NDhiZWRmNDk2YWMzMGRjMjdiNA==
6
+ ZTY3YzgxZWEwMTFiYjdmN2Q3MWNmOWQ5N2E1ZjAwNDQ2OTRkNzI1Yw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- OWY1YTQ5NTEwYmYwMjVjOGVlOWYxODRmZWU2ZDg0OWRlZTY3ZGI4ZmNjYTdm
10
- YmE5OTQxMmM5NGU2ODAwYjE3YTk0YjUzZjg2ZTBlYzYwODJmYTBhMDdmNWZk
11
- Nzg2ODExN2FjNGVhOGQzMjgyZDVkNzA2YWRjZjI3YzEzYjIyNTA=
9
+ ZmQ3OTJiY2ZhNTI5N2FkODhmOGMyMmNhN2JiNmM2Y2RhMjM2NGU2MTM0M2E2
10
+ ZjMyZDQ2ZmMxZGI0Y2U0YjAxMGI5YWUxZmFkYjYyMzNmMTBhODIxOTk2ODE1
11
+ ZjA0NTlhYzc4YWEwYjU2M2Y2MzkxNjM4MzdiODEwZDQzYzEwYTM=
12
12
  data.tar.gz: !binary |-
13
- Y2Y5MzVlNGVmNmU5MjE1Mzk5NGY5MjM5ODM5YjgwNjhmOWM0MDJjZGNhZDc2
14
- YzBjZjQwZjM1NTYzMTA3MjQyOGVhNWRjZGY2NmNkYmVlNmFkNDNmZjU4OTI3
15
- MmZmNWUzN2U4OWVlOTgyZmRlZTdmZDA2NzQwZDc4ZGQ5MTRmOGQ=
13
+ OTFkNWMyNzM3N2I0NzUzZDQ2ZmFkZDAxZjNhZWE3MjI3ZTcwOGE2YTA0NTUw
14
+ NjRhMzg1MjI2MTBhYjIwNDcxYmZmZDNiMDAwZTBlOWZkMWQ4ODFlZTY4Njk5
15
+ NGEyNDQ0Y2FlNjlhZTI2YzA3MTQzMGQ1NjdmNmZkYmE4Yjk0N2M=
@@ -63,8 +63,8 @@ module Exlibris
63
63
  instance_variable_set("@#{tab}".to_sym, {})
64
64
  # Define reader w/ refresh
65
65
  self.class.send(:define_method, tab) {
66
- return instance_variable_get("@#{tab}".to_sym) unless refresh?
67
- refresh and return instance_variable_get("@#{tab}".to_sym)
66
+ refresh if refresh?
67
+ instance_variable_get("@#{tab}".to_sym)
68
68
  }
69
69
  }
70
70
  refresh
@@ -223,18 +223,15 @@ module Exlibris
223
223
  sublibrary_permissions[params[:item_status_code]] unless sublibrary_permissions.nil?
224
224
  end
225
225
  rescue => e
226
- logger.warn(
227
- "Warning in #{self.class}. "+
228
- "Item permissions not found. "+
229
- "Additional parameters:\n"+
230
- "\tADM library: #{params[:adm_library_code]}\n"+
231
- "\tSub library: #{params[:sub_library_code]}\n"+
232
- "\tItem status: #{params[:item_status_code]}\n"+
233
- "\tItem process status: #{params[:item_process_status_code]}"
234
- )
226
+ logger.error(%Q{
227
+ Error in #{self.class}.
228
+ Returning empty item permissions.
229
+ Parameters:
230
+ ADM library: #{params[:adm_library_code]}
231
+ Sub library: #{params[:sub_library_code]}
232
+ Item status: #{params[:item_status_code]}
233
+ Item process status: #{params[:item_process_status_code]}}.strip)
235
234
  logger.error("Error: \n\t#{e}")
236
- logger.error("\titem_permissions_by_item_process_status is #{item_permissions_by_item_process_status.inspect}")
237
- logger.error("\titem_permissions_by_item_status is #{item_permissions_by_item_process_status.inspect}")
238
235
  ensure
239
236
  return item_permissions
240
237
  end
@@ -245,21 +242,38 @@ module Exlibris
245
242
  private :refresh?
246
243
 
247
244
  def refresh
248
- @@alephe_tabs.each_key do |key|
249
- instance_variable_set("@#{key}".to_sym, YAML.load_file(File.join(yml_path, "alephe", "#{key}.yml")))
245
+ @@alephe_tabs.each_key do |tab|
246
+ instance_variable_set("@#{tab}".to_sym, YAML.load_file(File.join(yml_path, "alephe", "#{tab}.yml")))
250
247
  end
251
- @@adm_tabs.each_key do |key|
248
+ @@adm_tabs.each_key do |tab|
252
249
  adms.each do |adm|
253
- tab = instance_variable_get("@#{key}".to_sym)
254
- tab[adm] = YAML.load_file(File.join(yml_path, adm, "#{key}.yml"))
255
- instance_variable_set("@#{key}".to_sym, tab)
250
+ instance_variable_get("@#{tab}".to_sym)[adm] =
251
+ YAML.load_file(File.join(yml_path, adm, "#{tab}.yml"))
256
252
  end
257
253
  end
258
254
  # Delete irrelevant sub libraries from @sub_library
259
255
  @sub_libraries.delete_if {|key,value| irrelevant_sub_libraries.include? key }
260
- @updated_at = Time.now()
256
+ # Since we update the YAML files in a separate process, don't overwrite
257
+ # unless everything got some valid data.
258
+ @updated_at = Time.now() if successful_refresh?
261
259
  end
262
- private :refresh?
260
+ private :refresh
261
+
262
+ # Did the refresh actually work?
263
+ def successful_refresh?
264
+ # No "false" entries in alephe tab variables
265
+ (@@alephe_tabs.keys.find { |tab| (not instance_variable_get("@#{tab}".to_sym))}.nil? and
266
+ # AND no "false" entries in adm tab variables
267
+ @@adm_tabs.keys.find{ |tab| adms.find { |adm| (not (instance_variable_get("@#{tab}".to_sym)[adm])) }}.nil?)
268
+ end
269
+ private :successful_refresh?
270
+
271
+ # Since we update the YAML files in a separate process, we need to
272
+ # wait until we actually get some YAML to load it into the hash.
273
+ def hash_from_yaml_file(file)
274
+ yaml = YAML.load_file(file)
275
+ end
276
+ private :hash_from_yaml_file
263
277
 
264
278
  def adms
265
279
  @adms ||= self.class.adms
@@ -1,5 +1,5 @@
1
1
  module Exlibris
2
2
  module Aleph
3
- VERSION = "1.0.5"
3
+ VERSION = "1.0.6"
4
4
  end
5
5
  end
@@ -36,6 +36,15 @@ class TabHelperTest < ActiveSupport::TestCase
36
36
  @helper.instance_variable_set(:@refresh_time, @helper.class.refresh_time)
37
37
  end
38
38
 
39
+ test "successful refresh?" do
40
+ @helper.send(:refresh)
41
+ assert @helper.send(:successful_refresh?)
42
+ @helper.instance_variable_get(:@patrons)["nyu50"] = false
43
+ assert((not @helper.send(:successful_refresh?)))
44
+ @helper.send(:refresh)
45
+ assert @helper.send(:successful_refresh?)
46
+ end
47
+
39
48
  test "sub_library_text" do
40
49
  assert_equal("NYU Bobst", @helper.sub_library_text("BOBST"))
41
50
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exlibris-aleph
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scot Dalton