Class: Log
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Log
- Defined in:
- lib/models/log.rb
Overview
Logs
Instance Method Summary collapse
-
#activate ⇒ Object
Activate.
- #activate! ⇒ Object
- #active? ⇒ Boolean
-
#creep ⇒ Object
Creep.
-
#deactivate ⇒ Object
Deactivate.
- #deactivate! ⇒ Object
- #inactive? ⇒ Boolean
-
#start(options = {}) ⇒ Object
Start.
- #start!(options = {}) ⇒ Object
-
#stop ⇒ Object
Stop.
- #stop! ⇒ Object
- #tag(tags) ⇒ Object
-
#total_time ⇒ Object
Total time.
Instance Method Details
#activate ⇒ Object
Activate
70 71 72 |
# File 'lib/models/log.rb', line 70 def activate self.active = true end |
#activate! ⇒ Object
74 75 76 77 |
# File 'lib/models/log.rb', line 74 def activate! self.activate self.save! end |
#active? ⇒ Boolean
79 80 81 |
# File 'lib/models/log.rb', line 79 def active? self.active == "t" end |
#creep ⇒ Object
Creep
117 118 119 |
# File 'lib/models/log.rb', line 117 def creep self.total_time/self.estimation end |
#deactivate ⇒ Object
Deactivate
87 88 89 |
# File 'lib/models/log.rb', line 87 def deactivate self.active = false end |
#deactivate! ⇒ Object
91 92 93 94 |
# File 'lib/models/log.rb', line 91 def deactivate! self.active = false self.save! end |
#inactive? ⇒ Boolean
96 97 98 |
# File 'lib/models/log.rb', line 96 def inactive? self.active == "f" end |
#start(options = {}) ⇒ Object
Start
51 52 53 54 55 56 57 58 59 |
# File 'lib/models/log.rb', line 51 def start(={}) self.activate attributes = { start: Time.now }.merge! self.series << Series.new(attributes) end |
#start!(options = {}) ⇒ Object
61 62 63 64 |
# File 'lib/models/log.rb', line 61 def start!(={}) self.start() self.save! end |
#stop ⇒ Object
Stop
37 38 39 40 |
# File 'lib/models/log.rb', line 37 def stop self.deactivate self.series.last.stop! end |
#stop! ⇒ Object
42 43 44 45 |
# File 'lib/models/log.rb', line 42 def stop! self.stop self.save! end |
#tag(tags) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/models/log.rb', line 19 def tag() .split(',').each do |t| self. << Tag.where(tag: t).first_or_create end return self end |
#total_time ⇒ Object
Total time
104 105 106 107 108 109 110 111 |
# File 'lib/models/log.rb', line 104 def total_time difference = 0 self.series.each do |s| ending = s.end || Time.now difference = difference + s.start.difference(ending) end difference end |