Class: Mite::Tracker

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

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

all, first, inherited, last

Class Method Details

.currentObject



5
6
7
8
# File 'lib/mite/tracker.rb', line 5

def self.current
  tracking_time_entry = (format.decode(connection.get(collection_path, headers).body) || {})["tracking_time_entry"]
  tracking_time_entry ? instantiate_record(tracking_time_entry) : nil
end

.start(time_entry_or_id) ⇒ Object



10
11
12
13
# File 'lib/mite/tracker.rb', line 10

def self.start(time_entry_or_id)
  id = time_entry_or_id.is_a?(Mite::TimeEntry) ? time_entry_or_id.id : time_entry_or_id
  new({:id => id}, true).start
end

.stopObject



15
16
17
18
# File 'lib/mite/tracker.rb', line 15

def self.stop
  tracker = current
  tracker ? tracker.stop : false
end

Instance Method Details

#startObject



20
21
22
23
24
# File 'lib/mite/tracker.rb', line 20

def start
  response = connection.put(element_path(prefix_options), encode, self.class.headers)
  load(self.class.format.decode(response.body)["tracking_time_entry"])
  response.is_a?(Net::HTTPSuccess) ? self : false
end

#stopObject



26
27
28
# File 'lib/mite/tracker.rb', line 26

def stop
  Net::HTTPSuccess === connection.delete(element_path, self.class.headers) && self
end

#time_entryObject



30
31
32
# File 'lib/mite/tracker.rb', line 30

def time_entry
  Mite::TimeEntry.find(id)
end