Class: TimePieces::SimpleDuration

Inherits:
Object
  • Object
show all
Includes:
Duration
Defined in:
lib/time_pieces/simple_duration.rb

Instance Attribute Summary

Attributes included from Duration

#duration_seconds, #start_at_seconds

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Duration

#+, #-, #<=>, #end_at_seconds, #end_at_seconds=, included, #inside_of?, #left_duration_copy, #overlaps?, #overlaps_end?, #overlaps_inside?, #overlaps_outside?, #overlaps_start?, #right_duration_copy, #touches?, #touches_at_end?, #touches_at_start?, #update_start_seconds_and_end_seconds

Constructor Details

#initialize(start_at_seconds, duration_seconds) ⇒ SimpleDuration

Returns a new instance of SimpleDuration.



8
9
10
11
# File 'lib/time_pieces/simple_duration.rb', line 8

def initialize(start_at_seconds, duration_seconds)
  self.start_at_seconds = start_at_seconds
  self.duration_seconds = duration_seconds
end

Class Method Details

.new_using_seconds_and_end_at(start_at_seconds, end_at_seconds) ⇒ Object



17
18
19
# File 'lib/time_pieces/simple_duration.rb', line 17

def self.new_using_seconds_and_end_at(start_at_seconds, end_at_seconds)
  return self.new(start_at_seconds, end_at_seconds - start_at_seconds)
end

.parse_from_time_string(start_at_str, end_at_str) ⇒ Object



12
13
14
15
16
# File 'lib/time_pieces/simple_duration.rb', line 12

def self.parse_from_time_string(start_at_str, end_at_str)
  start_at_seconds = Time.parse(start_at_str).seconds_since_midnight
  end_at_seconds = Time.parse(end_at_str).seconds_since_midnight
  return self.new(start_at_seconds, end_at_seconds - start_at_seconds)
end

Instance Method Details

#duration_copyObject



26
27
28
# File 'lib/time_pieces/simple_duration.rb', line 26

def duration_copy
  return TimePieces::SimpleDuration.new(1,10)
end

#inspectObject



20
21
22
23
24
25
# File 'lib/time_pieces/simple_duration.rb', line 20

def inspect
  hours_start = start_at_seconds / 60 / 60
  hours_end = end_at_seconds / 60 / 60
  duration = duration_seconds / 60 / 60
  return "TD: #{hours_start} - #{hours_end} time in seconds: #{duration_seconds}"
end

#start_at=(s_at) ⇒ Object

Time is measured as seconds since midnight



5
6
7
# File 'lib/time_pieces/simple_duration.rb', line 5

def start_at=(s_at)
  self.start_at_seconds = s_at.seconds_since_midnight
end