class ShiftPlanning::AuthenticationKeeper

Attributes

client[R]

Public Class Methods

new(api_key, username, password) click to toggle source
# File lib/shift_planning/authentication_keeper.rb, line 4
def initialize(api_key, username, password)
  @client = ShiftPlanning::Client.new(api_key)
  @username = username
  @password = password
end

Public Instance Methods

logout() click to toggle source
# File lib/shift_planning/authentication_keeper.rb, line 19
def logout
  @client.staff.get_logout if @client.connection.authenticated?
end
run(&block) click to toggle source
# File lib/shift_planning/authentication_keeper.rb, line 10
def run(&block)
  login unless @client.connection.authenticated?
  block.call @client
rescue ShiftPlanning::ApiError => e
  raise e if e.code != 3
  login
  block.call @client
end

Private Instance Methods

login() click to toggle source
# File lib/shift_planning/authentication_keeper.rb, line 25
def login
  @client.staff.get_login(@username, @password)
end