Module: Shutwork::Token

Extended by:
Token
Included in:
Token
Defined in:
lib/shutwork/token.rb

Instance Method Summary collapse

Instance Method Details

#from_envObject



11
12
13
# File 'lib/shutwork/token.rb', line 11

def from_env
  ENV.fetch("CHATWORK_ACCESS_TOKEN", nil)
end

#from_store(name) ⇒ Object



19
20
21
22
23
24
# File 'lib/shutwork/token.rb', line 19

def from_store name
  file = token_path name
  if File.exist? file
    open(file, &:read)
  end
end

#from_user_defaultObject



15
16
17
# File 'lib/shutwork/token.rb', line 15

def from_user_default
  from_store "default"
end

#readObject



7
8
9
# File 'lib/shutwork/token.rb', line 7

def read
  from_env || from_user_default
end

#storage_dirObject



34
35
36
# File 'lib/shutwork/token.rb', line 34

def storage_dir
  Pathname.new("~/.shutwork/token").expand_path
end

#store(token, name = "default") ⇒ Object



26
27
28
29
30
31
32
# File 'lib/shutwork/token.rb', line 26

def store token, name = "default"
  file = token_path name
  FileUtils.mkdir_p file.dirname
  open(file, 'w') do |io|
    io << token.strip
  end
end

#token_path(name = "default") ⇒ Object



38
39
40
# File 'lib/shutwork/token.rb', line 38

def token_path name = "default"
  storage_dir.join name
end