Module: DateTimePrecision::ClassMethods

Defined in:
lib/date_time_precision/lib.rb

Instance Method Summary collapse

Instance Method Details

#normalize_new_args(args) ⇒ Object



140
141
142
143
144
145
146
147
148
# File 'lib/date_time_precision/lib.rb', line 140

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) ⇒ Boolean

Returns:

  • (Boolean)


127
128
129
130
131
132
133
# File 'lib/date_time_precision/lib.rb', line 127

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) ⇒ Object



135
136
137
138
# File 'lib/date_time_precision/lib.rb', line 135

def precision(val)
  val = val.take(self::MAX_PRECISION) if val.is_a? Array
  DateTimePrecision::precision(val)
end