module DateTimePrecision::ClassMethods
Public Instance Methods
normalize_new_args(args)
click to toggle source
# File lib/date_time_precision/lib.rb, line 159 def normalize_new_args(args) unless args.all? # Replace nil values with their corresponding default values args = args.each_with_index.map do |val,i| val || DateTimePrecision::NEW_DEFAULTS[i] end end args.take(self::MAX_PRECISION) end
partial_match?(date1, date2)
click to toggle source
# File lib/date_time_precision/lib.rb, line 146 def partial_match?(date1, date2) return true if date1.nil? or date2.nil? frags1 = date1.fragments frags2 = date2.fragments min_precision = [frags1.length,frags2.length].min frags1.slice(0,min_precision) == frags2.slice(0,min_precision) end
precision(val)
click to toggle source
# File lib/date_time_precision/lib.rb, line 154 def precision(val) val = val.take(self::MAX_PRECISION) if val.is_a? Array DateTimePrecision::precision(val) end