class DomoscioRails::AuthorizationToken::FileStorage

Public Class Methods

new(temp_dir = nil) click to toggle source
# File lib/domoscio_rails/authorization_token.rb, line 46
def initialize(temp_dir = nil)
  @temp_dir = temp_dir || DomoscioRails.configuration.temp_dir
  if !@temp_dir
    raise "Path to temporary folder is not defined"
  end
end

Public Instance Methods

file_path() click to toggle source
# File lib/domoscio_rails/authorization_token.rb, line 74
def file_path
  File.join(@temp_dir, "DomoscioRails.AuthorizationToken.FileStore.tmp")
end
get() click to toggle source
# File lib/domoscio_rails/authorization_token.rb, line 53
def get
  begin
    f = File.open(file_path, File::RDONLY)
    f.flock(File::LOCK_SH)
    txt = f.read
    f.close
    YAML.load(txt) || nil
  rescue Errno::ENOENT
    nil
  end
end
store(token) click to toggle source
# File lib/domoscio_rails/authorization_token.rb, line 65
def store(token)
  File.open(file_path, File::RDWR|File::CREAT, 0644) do |f|
    f.flock(File::LOCK_EX)
    f.truncate(0)
    f.rewind
    f.puts(YAML.dump(token))
  end
end