Class: Ozone::Time

Inherits:
Object
  • Object
show all
Defined in:
lib/ozone.rb

Instance Method Summary collapse

Constructor Details

#initialize(time:, offset:, observes_dst: true) ⇒ Time

Returns a new instance of Time.



32
33
34
35
36
37
# File 'lib/ozone.rb', line 32

def initialize(time:, offset:, observes_dst: true)
  @offset = offset
  @timezone = ActiveSupport::TimeZone[offset/60]
  @observes_dst = observes_dst
  @time = time
end

Instance Method Details

#<=>(time_with_zone) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/ozone.rb', line 39

def <=> (time_with_zone)
  if after?(time_with_zone)
    1
  elsif before?(time_with_zone)
    -1
  else
    0
  end
end

#after?(time_with_zone) ⇒ Boolean Also known as: >

Returns:

  • (Boolean)


53
54
55
# File 'lib/ozone.rb', line 53

def after?(time_with_zone)
  adjusted_time > time_with_zone
end

#before?(time_with_zone) ⇒ Boolean Also known as: <

Returns:

  • (Boolean)


49
50
51
# File 'lib/ozone.rb', line 49

def before?(time_with_zone)
  adjusted_time < time_with_zone
end

#strftime(format: '%Y-%m-%d %H:%M') ⇒ Object Also known as: to_s



57
58
59
# File 'lib/ozone.rb', line 57

def strftime(format: '%Y-%m-%d %H:%M')
  Formatter.call(time: @time, offset: @offset, observes_dst: @observes_dst, format: format)
end