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