Class: Time

Inherits:
Object
  • Object
show all
Includes:
DateTimePrecision
Defined in:
lib/date_time_precision/patch/1.8.7/time.rb,
lib/date_time_precision/patch/common/time.rb

Constant Summary collapse

MAX_PRECISION =
if DateTimePrecision::MICROSECONDS_SUPPORTED
  DateTimePrecision::USEC
else
  DateTimePrecision::SEC
end

Constants included from DateTimePrecision

DateTimePrecision::CENTURY, DateTimePrecision::DATE_ATTRIBUTES, DateTimePrecision::DATE_ATTRIBUTE_PRECISIONS, DateTimePrecision::DAY, DateTimePrecision::DECADE, DateTimePrecision::HOUR, DateTimePrecision::ISO8601_DATE_FRAGMENTS, DateTimePrecision::ISO8601_TIME_FRAGMENTS, DateTimePrecision::MICROSECONDS_SUPPORTED, DateTimePrecision::MIN, DateTimePrecision::MONTH, DateTimePrecision::NEW_DEFAULTS, DateTimePrecision::NONE, DateTimePrecision::PATCH_VERSION, DateTimePrecision::SEC, DateTimePrecision::USEC, DateTimePrecision::VERSION, DateTimePrecision::YEAR

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DateTimePrecision

#as_json, #century, #decade, #fragments, included, #partial_match?, precision, #precision, #precision=, #to_h, #to_json

Class Method Details

.gmObject



42
43
44
45
46
47
48
49
50
51
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 42

def utc(*args)
  orig_args = args.shift(Time::MAX_PRECISION)
  precision = self.precision(orig_args)
  time_args = normalize_new_args(orig_args)
  
  t = utc_without_prec(*[time_args, args].flatten)
  t.precision = precision
  t.attributes_set(orig_args)
  t
end

.local(*args) ⇒ Object



45
46
47
48
49
50
51
52
53
54
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 45

def local(*args)
  orig_args = args.shift(Time::MAX_PRECISION)
  precision = self.precision(orig_args)
  time_args = normalize_new_args(orig_args)
  
  t = local_without_prec(*[time_args, args].flatten)
  t.precision = precision
  t.attributes_set(orig_args)
  t
end

.local_without_precObject



44
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 44

alias_method :local_without_prec, :local

.make_time(*args) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 19

def make_time(*args)
  orig_args = args.shift(Time::MAX_PRECISION)
  precision = self.precision(orig_args)
  time_args = normalize_new_args(orig_args)
  
  t = make_time_orig(*[time_args, args].flatten)
  t.precision = precision
  t.attributes_set(orig_args)
  t
end

.make_time_origObject



18
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 18

alias_method :make_time_orig, :make_time

.mktime(*args) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 7

def mktime(*args)
  orig_args = args.shift(Time::MAX_PRECISION)
  precision = self.precision(orig_args)
  time_args = normalize_new_args(orig_args)
  
  t = mktime_orig(*[time_args, args].flatten)
  t.precision = precision
  t.attributes_set(orig_args)
  t
end

.mktime_origObject



6
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 6

alias_method :mktime_orig, :mktime

.utc(*args) ⇒ Object



32
33
34
35
36
37
38
39
40
41
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 32

def utc(*args)
  orig_args = args.shift(Time::MAX_PRECISION)
  precision = self.precision(orig_args)
  time_args = normalize_new_args(orig_args)
  
  t = utc_without_prec(*[time_args, args].flatten)
  t.precision = precision
  t.attributes_set(orig_args)
  t
end

.utc_without_precObject



31
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 31

alias_method :utc_without_prec, :utc

Instance Method Details

#utc(*args) ⇒ Object



58
59
60
61
62
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 58

def utc(*args)
  t = utc_without_prec(*args)
  t.precision = self.precision
  t
end

#utc_without_precObject



57
# File 'lib/date_time_precision/patch/1.8.7/time.rb', line 57

alias_method :utc_without_prec, :utc