Module: Frecli::Queries::ClassMethods

Defined in:
lib/frecli/queries.rb

Instance Method Summary collapse

Instance Method Details

#apiObject



8
9
10
# File 'lib/frecli/queries.rb', line 8

def api
  @api = FreckleApi.new(Settings[:api_key])
end

#project(id) ⇒ Object



16
17
18
# File 'lib/frecli/queries.rb', line 16

def project(id)
  api.project(id)
end

#projectsObject



12
13
14
# File 'lib/frecli/queries.rb', line 12

def projects
  api.projects
end

#timer(project_id = nil) ⇒ Object



28
29
30
# File 'lib/frecli/queries.rb', line 28

def timer(project_id = nil)
  api.timer(project_id) || timer_current
end

#timer_currentObject



32
33
34
# File 'lib/frecli/queries.rb', line 32

def timer_current
  timers.detect { |timer| timer.state == :running }
end

#timer_log(timer, description = nil) ⇒ Object



24
25
26
# File 'lib/frecli/queries.rb', line 24

def timer_log(timer, description = nil)
  timer.log!(api, description: description)
end

#timer_pause(timer) ⇒ Object



42
43
44
# File 'lib/frecli/queries.rb', line 42

def timer_pause(timer)
  timer.pause!(api)
end

#timer_start(project) ⇒ Object



36
37
38
39
40
# File 'lib/frecli/queries.rb', line 36

def timer_start(project)
  FreckleApi::Timer.new(project: project).tap do |timer|
    timer.start!(api)
  end
end

#timersObject



20
21
22
# File 'lib/frecli/queries.rb', line 20

def timers
  api.timers
end