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