class GetToWork::Service

Attributes

api_token[R]

Public Class Methods

display_name(name = nil) click to toggle source
# File lib/get_to_work/service.rb, line 9
def display_name(name = nil)
  @display_name = name || @display_name
end
new(data_hash = nil) click to toggle source
# File lib/get_to_work/service.rb, line 26
def initialize(data_hash = nil)
  return if data_hash.nil?

  @data = data_hash[yaml_key]

  if @data
    @data.each do |name, value|
      instance_variable_set("@#{name}", value)
      self.class.class_eval { attr_reader(name.to_sym) }
    end
    authenticate_with_keychain
  end
end

Public Instance Methods

authenticate_with_keychain() click to toggle source
# File lib/get_to_work/service.rb, line 51
def authenticate_with_keychain
end
display_name() click to toggle source
# File lib/get_to_work/service.rb, line 22
def display_name
  self.class.display_name
end
keychain() click to toggle source
# File lib/get_to_work/service.rb, line 67
def keychain
  @keychain ||= GetToWork::Keychain.find(service: name).last
end
name() click to toggle source
# File lib/get_to_work/service.rb, line 18
def name
  self.class.to_s.split("::").last
end
save_config(opts) click to toggle source
# File lib/get_to_work/service.rb, line 71
def save_config(opts)
  config_file = GetToWork::ConfigFile.instance
  config_file[yaml_key] = opts
end
set_client_token(token) click to toggle source
# File lib/get_to_work/service.rb, line 63
def set_client_token(token)
  # noop
end
update_keychain(account:) click to toggle source
# File lib/get_to_work/service.rb, line 40
def update_keychain(account:)
  raise "@api_token not set for #{name}" if @api_token.nil?
  raise "@name not set for #{name}" if @api_token.nil?

  GetToWork::Keychain.new.update(
    service: name,
    account: account,
    password: @api_token
  )
end
yaml_key() click to toggle source
# File lib/get_to_work/service.rb, line 14
def yaml_key
  name.underscore
end