module Aoc::Session

Public Class Methods

get_session() click to toggle source
# File lib/aoc/session.rb, line 3
def self.get_session
  return @session if @session

  if persisted?
    @session = load_session
  else
    @session = ask_for_session
    persist_session
  end

  @session
end

Private Class Methods

ask_for_session() click to toggle source
# File lib/aoc/session.rb, line 18
def self.ask_for_session
  puts "Enter your session key:"
  STDIN.gets.chomp
end
load_session() click to toggle source
# File lib/aoc/session.rb, line 23
def self.load_session
  File.read(session_store)
end
persist_session() click to toggle source
# File lib/aoc/session.rb, line 31
def self.persist_session
  File.write(session_store, @session)
end
persisted?() click to toggle source
# File lib/aoc/session.rb, line 27
def self.persisted?
  File.exist?(session_store)
end
session_store() click to toggle source
# File lib/aoc/session.rb, line 35
def self.session_store
  File.join(Dir.home, ".aoc.session")
end