class TimetrapToggl::Config

Constants

DEFAULT_ROUND_IN_MINUTES
MissingTogglAliases
MissingTogglConfig
MissingTogglSubdomain

Attributes

timetrap_config[R]

Public Class Methods

new(timetrap_config = Timetrap::Config) click to toggle source
# File lib/timetrap_toggl/config.rb, line 11
def initialize(timetrap_config = Timetrap::Config)
  @timetrap_config = timetrap_config
end

Public Instance Methods

aliases() click to toggle source
# File lib/timetrap_toggl/config.rb, line 37
def aliases
  config['aliases']
end
api_token() click to toggle source
# File lib/timetrap_toggl/config.rb, line 15
def api_token
  config['api_token']
end
client() click to toggle source
# File lib/timetrap_toggl/config.rb, line 29
def client
  @client ||= TogglV8::API.new(api_token)
end
config() click to toggle source
# File lib/timetrap_toggl/config.rb, line 51
def config
  ensure_config!

  timetrap_config['toggl']
end
ensure_aliases!() click to toggle source
# File lib/timetrap_toggl/config.rb, line 61
def ensure_aliases!
  fail(MissingTogglAliases, 'Missing aliases key in .timetrap.yml config file') if config['aliases'].nil?
end
ensure_config!() click to toggle source
# File lib/timetrap_toggl/config.rb, line 57
def ensure_config!
  fail(MissingTogglConfig, 'Missing toggl key in .timetrap.yml config file') if timetrap_config.nil? || timetrap_config['toggl'].nil?
end
ensure_subdomain!() click to toggle source
# File lib/timetrap_toggl/config.rb, line 65
def ensure_subdomain!
  fail(MissingTogglSubdomain, 'Missing subdomain key in .timetrap.yml config file') if config['subdomain'].nil?
end
projects() click to toggle source
# File lib/timetrap_toggl/config.rb, line 41
def projects
  @projects ||= client.projects(workspace["id"])
end
round_in_minutes() click to toggle source
# File lib/timetrap_toggl/config.rb, line 25
def round_in_minutes
  config['round_in_minutes'] || DEFAULT_ROUND_IN_MINUTES
end
subdomain() click to toggle source
# File lib/timetrap_toggl/config.rb, line 19
def subdomain
  ensure_subdomain!

  config['subdomain']
end
workspace() click to toggle source
# File lib/timetrap_toggl/config.rb, line 33
def workspace
  @workspace ||= client.workspaces.find { |w| w["name"] == config["workspace"] }
end