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
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 |