class SessionAdapter
Constants
- FILE_LOCATION
Public Instance Methods
clear_session()
click to toggle source
# File lib/adapters/session_adapter.rb, line 30 def clear_session return unless ccli_directory_exists? FileUtils.rm_r(ccli_directory_path) end
selected_folder()
click to toggle source
# File lib/adapters/session_adapter.rb, line 36 def selected_folder @selected_folder ||= Folder.find(selected_folder_id) end
session_data()
click to toggle source
# File lib/adapters/session_adapter.rb, line 24 def session_data raise SessionMissingError unless session_file_exists? @session_data ||= Psych.load_file(session_file_path) end
update_session(session)
click to toggle source
# File lib/adapters/session_adapter.rb, line 13 def update_session(session) session.merge!(session_data) { |_key, input| input } if session_file_exists? FileUtils.mkdir_p ccli_directory_path unless ccli_directory_exists? File.open(session_file_path, 'w') do |file| session.merge!(extracted_token(session[:encoded_token])) { |_key, _v1, v2| v2 } session.delete(:encoded_token) file.write session.to_yaml end end
Private Instance Methods
ccli_directory_exists?()
click to toggle source
# File lib/adapters/session_adapter.rb, line 71 def ccli_directory_exists? Dir.exist?(ccli_directory_path) end
ccli_directory_path()
click to toggle source
# File lib/adapters/session_adapter.rb, line 63 def ccli_directory_path File.dirname(session_file_path) end
extracted_token(token)
click to toggle source
# File lib/adapters/session_adapter.rb, line 48 def extracted_token(token) return {} unless token decoded_token = Base64.decode64(token) attrs = decoded_token.split(':') { username: attrs[0], token: attrs[1] } end
selected_folder_id()
click to toggle source
# File lib/adapters/session_adapter.rb, line 42 def selected_folder_id raise NoFolderSelectedError if session_data[:folder].nil? session_data[:folder] end
session_file_exists?()
click to toggle source
# File lib/adapters/session_adapter.rb, line 67 def session_file_exists? File.exist?(session_file_path) end
session_file_path()
click to toggle source
# File lib/adapters/session_adapter.rb, line 59 def session_file_path File.expand_path(FILE_LOCATION) end