Class: Log

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/models/log.rb

Overview

Logs

Instance Method Summary collapse

Instance Method Details

#activateObject

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

Returns:

  • (Boolean)

79
80
81
# File 'lib/models/log.rb', line 79

def active?
	self.active == "t"
end

#creepObject

Creep


117
118
119
# File 'lib/models/log.rb', line 117

def creep
	self.total_time/self.estimation
end

#deactivateObject

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

Returns:

  • (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(options={})
	self.activate

	attributes = {
		start: Time.now
	}.merge! options

	self.series << Series.new(attributes)
end

#start!(options = {}) ⇒ Object


61
62
63
64
# File 'lib/models/log.rb', line 61

def start!(options={})
	self.start(options)
	self.save!
end

#stopObject

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(tags)
	tags.split(',').each do |t|
		self.tags << Tag.where(tag: t).first_or_create
	end

	return self
end

#total_timeObject

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