Class: Project

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, expected = nil) ⇒ Project

Returns a new instance of Project.



5
6
7
8
9
10
# File 'lib/trakr/project.rb', line 5

def initialize(name, expected=nil)
	@name = name
	@expected = expected
       @state = false
       @time = 0
end

Instance Attribute Details

#expectedObject

Returns the value of attribute expected.



2
3
4
# File 'lib/trakr/project.rb', line 2

def expected
  @expected
end

#nameObject

Returns the value of attribute name.



2
3
4
# File 'lib/trakr/project.rb', line 2

def name
  @name
end

#start_timeObject

Returns the value of attribute start_time.



2
3
4
# File 'lib/trakr/project.rb', line 2

def start_time
  @start_time
end

#stateObject

Returns the value of attribute state.



2
3
4
# File 'lib/trakr/project.rb', line 2

def state
  @state
end

#timeObject

Returns the value of attribute time.



2
3
4
# File 'lib/trakr/project.rb', line 2

def time
  @time
end

Class Method Details

.headingsObject



31
32
33
# File 'lib/trakr/project.rb', line 31

def self.headings
    ['Running', 'Name', 'Time', 'Estimate']
end

Instance Method Details

#start_timerObject



12
13
14
15
# File 'lib/trakr/project.rb', line 12

def start_timer
       @state = true
	@start_time = Time.now
end

#stop_timerObject



17
18
19
20
21
# File 'lib/trakr/project.rb', line 17

def stop_timer
       @state = false
	@time += Time.now - start_time
	@start_time = nil
end

#to_aObject



23
24
25
26
27
28
29
# File 'lib/trakr/project.rb', line 23

def to_a
		if @state
			[@state.to_s.foreground(:green), @name, (Time.now - @start_time).duration, @expected]
		else
			[@state.to_s.foreground(:red), @name, @time.duration, @expected]
		end
end