Class: Devlog::Zezzion

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/devlog.rb

Constant Summary collapse

COM =

communication session

1
COD =

coding session

0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(zztype = COD) ⇒ Zezzion

Returns a new instance of Zezzion.



679
680
681
682
683
684
685
686
687
688
689
690
691
# File 'lib/devlog.rb', line 679

def initialize(zztype = COD)
  @zztype = zztype
  @zzbegin = nil
  @zzend = nil
  @zzbegin = nil
  @zzbegin_title = nil
  @zzend_title = nil
  @coding_session_time = 0.0
  @com_session_time = 0.0
  @payed_time = 0.0
  @zzbegin_line_number = 0
  @zzend_line_number = 0
end

Instance Attribute Details

#coding_session_timeObject

Returns the value of attribute coding_session_time.



676
677
678
# File 'lib/devlog.rb', line 676

def coding_session_time
  @coding_session_time
end

#com_session_timeObject

Returns the value of attribute com_session_time.



676
677
678
# File 'lib/devlog.rb', line 676

def com_session_time
  @com_session_time
end

#payed_timeObject

Returns the value of attribute payed_time.



676
677
678
# File 'lib/devlog.rb', line 676

def payed_time
  @payed_time
end

#zzbeginObject

Returns the value of attribute zzbegin.



675
676
677
# File 'lib/devlog.rb', line 675

def zzbegin
  @zzbegin
end

#zzbegin_line_numberObject

Returns the value of attribute zzbegin_line_number.



677
678
679
# File 'lib/devlog.rb', line 677

def zzbegin_line_number
  @zzbegin_line_number
end

#zzbegin_titleObject

Returns the value of attribute zzbegin_title.



675
676
677
# File 'lib/devlog.rb', line 675

def zzbegin_title
  @zzbegin_title
end

#zzendObject

Returns the value of attribute zzend.



675
676
677
# File 'lib/devlog.rb', line 675

def zzend
  @zzend
end

#zzend_line_numberObject

Returns the value of attribute zzend_line_number.



677
678
679
# File 'lib/devlog.rb', line 677

def zzend_line_number
  @zzend_line_number
end

#zzend_titleObject

Returns the value of attribute zzend_title.



675
676
677
# File 'lib/devlog.rb', line 675

def zzend_title
  @zzend_title
end

#zztypeObject

Returns the value of attribute zztype.



675
676
677
# File 'lib/devlog.rb', line 675

def zztype
  @zztype
end

Instance Method Details

#<=>(other) ⇒ Object



693
694
695
# File 'lib/devlog.rb', line 693

def <=>(other)
  zzbegin <=> other.zzbegin
end

#daysObject

zezzion_time in days



703
704
705
706
707
708
# File 'lib/devlog.rb', line 703

def days
  min = self.time / 60
  hours = min / 60
  days = hours / 24
  days
end

#per_dayObject

hours per day



716
717
718
719
# File 'lib/devlog.rb', line 716

def per_day
  # whole time over number of days the parsing covers
  session_time/days
end

#per_monthObject

todo



723
724
725
# File 'lib/devlog.rb', line 723

def per_month
  # todo
end

#per_weekObject



720
721
722
# File 'lib/devlog.rb', line 720

def per_week
  # todo
end

#session_timeObject

the whole coding session time



711
712
713
# File 'lib/devlog.rb', line 711

def session_time
  @coding_session_time + @com_session_time #in seconds
end

#timeObject

in seconds



698
699
700
# File 'lib/devlog.rb', line 698

def time
  @zzend.to_time -  @zzbegin.to_time
end

#to_sObject



731
732
733
# File 'lib/devlog.rb', line 731

def to_s
  "#{session_time.round(3)} [h] #{type}, begin on line #{@zzbegin_line_number} at #{@zzbegin}, ends on line #{@zzend_line_number} at #{@zzend}"
end

#typeObject



727
728
729
# File 'lib/devlog.rb', line 727

def type
  zztype == 0 ? "CodingSession" : "ComSession"
end