456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
|
# File 'lib/mods/date.rb', line 456
def precision
return :unknown unless date_range || date
if date_range.is_a? EDTF::Century
:century
elsif date_range.is_a? EDTF::Decade
:decade
elsif date.is_a? EDTF::Interval
date_range.precision
else
case date.precision
when :month
date.unspecified.unspecified?(:month) ? :year : :month
when :day
d = date.unspecified.unspecified?(:day) ? :month : :day
d = date.unspecified.unspecified?(:month) ? :year : d
d
else
date.precision
end
end
end
|