Class: Mite::TimeEntry

Inherits:
Base
  • Object
show all
Defined in:
lib/mite/time_entry.rb

Defined Under Namespace

Classes: Bookmark

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

all, first, inherited, last

Class Method Details

.find_every(options = {}) ⇒ Object



49
50
51
52
# File 'lib/mite/time_entry.rb', line 49

def find_every(options={})
  return super(options) if !options[:params] || !options[:params][:group_by]
  Mite::TimeEntryGroup.all(options)
end

Instance Method Details

#customerObject



21
22
23
24
25
26
# File 'lib/mite/time_entry.rb', line 21

def customer
  @customer ||= begin
    p = project
    p.customer unless p.blank?
  end
end

#load(*attrs) ⇒ Object



40
41
42
43
44
45
46
# File 'lib/mite/time_entry.rb', line 40

def load(*attrs)
  super
  if attributes["tracking"]
    attributes["tracker"] = Mite::Tracker.new.load(attributes.delete("tracking").attributes)
  end
  self
end

#projectObject



12
13
14
# File 'lib/mite/time_entry.rb', line 12

def project
  @project ||= Mite::Project.find(project_id) unless project_id.blank?
end

#project=(project) ⇒ Object



16
17
18
19
# File 'lib/mite/time_entry.rb', line 16

def project=(project)
  self.project_id = project ? project.id : nil
  @project = project
end

#serviceObject



3
4
5
# File 'lib/mite/time_entry.rb', line 3

def service
  @service ||= Mite::Service.find(service_id) unless service_id.blank?
end

#service=(service) ⇒ Object



7
8
9
10
# File 'lib/mite/time_entry.rb', line 7

def service=(service)
  self.service_id = service ? service.id : nil
  @service = service
end

#start_trackerObject



32
33
34
# File 'lib/mite/time_entry.rb', line 32

def start_tracker
  attributes["tracker"] = Mite::Tracker.start(id) || nil
end

#stop_trackerObject



36
37
38
# File 'lib/mite/time_entry.rb', line 36

def stop_tracker
  Mite::Tracker.stop if tracking?
end

#tracking?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/mite/time_entry.rb', line 28

def tracking?
  !!attributes["tracker"]
end