lib/stanford-mods/imprint.rb in stanford-mods-2.5.0 vs lib/stanford-mods/imprint.rb in stanford-mods-2.5.1
- old
+ new
@@ -38,11 +38,10 @@
end
# @return Array<Integer> an array of publication years for the resource
def publication_date_for_slider
@originInfo_ng_nodeset.map do |origin_info_node|
-
date_elements = if origin_info_node.as_object.first.key_dates.any?
origin_info_node.as_object.first.key_dates.map(&:as_object).map(&:first)
else
date_field_keys.map do |date_field|
next unless origin_info_node.respond_to?(date_field)
@@ -51,15 +50,18 @@
end.first
end
if date_elements.nil? || date_elements.none?
[]
- elsif date_elements.find(&:start?) && date_elements.find(&:end?)
+ elsif date_elements.find(&:start?) &&
+ date_elements.find(&:start?).as_range &&
+ date_elements.find(&:end?) &&
+ date_elements.find(&:end?).as_range
start_date = date_elements.find(&:start?)
end_date = date_elements.find(&:end?)
(start_date.as_range.min.year..end_date.as_range.max.year).to_a
- elsif date_elements.find(&:start?)
+ elsif date_elements.find(&:start?) && date_elements.find(&:start?).as_range
start_date = date_elements.find(&:start?)
(start_date.as_range.min.year..Time.now.year).to_a
elsif date_elements.one?
date_elements.first.to_a.map(&:year)