Module: DateTimePrecision::ClassMethods

Defined in:
lib/date_time_precision/lib.rb

Instance Method Summary collapse

Instance Method Details

#normalize_new_args(args) ⇒ Object



159
160
161
162
163
164
165
166
167
# 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) ⇒ Boolean

Returns:

  • (Boolean)


146
147
148
149
150
151
152
# 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) ⇒ Object



154
155
156
157
# 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