Module: GoodData::Helpers::AuthHelper

Defined in:
lib/gooddata/helpers/auth_helpers.rb

Class Method Summary collapse

Class Method Details

.credentials_fileObject

Get path of .gooddata config



17
18
19
# File 'lib/gooddata/helpers/auth_helpers.rb', line 17

def credentials_file
  "#{Helpers.home_directory}/.gooddata"
end

.read_credentials(credentials_file_path = credentials_file) ⇒ Object

Read credentials



22
23
24
25
26
27
28
29
# File 'lib/gooddata/helpers/auth_helpers.rb', line 22

def read_credentials(credentials_file_path = credentials_file)
  if File.exist?(credentials_file_path)
    config = File.read(credentials_file_path)
    MultiJson.load(config, :symbolize_keys => true)
  else
    {}
  end
end

.read_environment(credentials_file_path = credentials_file) ⇒ String

Try read environemnt

Tries to read it from ~/.gooddata file or from environment variable GD_SERVER

Parameters:

  • credentials_file_path (String) (defaults to: credentials_file)

    (credentials_file) Path to .gooddata file

Returns:

  • (String)

    server token from environment variable, .gooddata or nil



36
37
38
39
# File 'lib/gooddata/helpers/auth_helpers.rb', line 36

def read_environment(credentials_file_path = credentials_file)
  goodfile = read_credentials(credentials_file_path)
  [ENV['GD_ENVIRONMENT'], goodfile[:environment], GoodData::Project::DEFAULT_ENVIRONMENT].find { |x| !x.nil? && !x.empty? }
end

.read_server(credentials_file_path = credentials_file) ⇒ String

Try read server

Tries to read it from ~/.gooddata file or from environment variable GD_SERVER

Parameters:

  • credentials_file_path (String) (defaults to: credentials_file)

    (credentials_file) Path to .gooddata file

Returns:

  • (String)

    server token from environment variable, .gooddata or DEFAULT_URL



46
47
48
49
# File 'lib/gooddata/helpers/auth_helpers.rb', line 46

def read_server(credentials_file_path = credentials_file)
  goodfile = read_credentials(credentials_file_path)
  [ENV['GD_SERVER'], goodfile[:server], GoodData::Rest::Connection::DEFAULT_URL].find { |x| !x.nil? && !x.empty? }
end

.read_token(credentials_file_path = credentials_file) ⇒ String

Try read token

Tries to read it from ~/.gooddata file or from environment variable GD_PROJECT_TOKEN

Parameters:

  • credentials_file_path (String) (defaults to: credentials_file)

    (credentials_file) Path to .gooddata file

Returns:

  • (String)

    auth token from environment variable, .gooddata or nil



56
57
58
59
# File 'lib/gooddata/helpers/auth_helpers.rb', line 56

def read_token(credentials_file_path = credentials_file)
  goodfile = read_credentials(credentials_file_path)
  [ENV['GD_PROJECT_TOKEN'], goodfile[:auth_token], goodfile[:token]].find { |x| !x.nil? && !x.empty? }
end

.remove_credentials_file(credentials_file_path = credentials_file) ⇒ Object



69
70
71
# File 'lib/gooddata/helpers/auth_helpers.rb', line 69

def remove_credentials_file(credentials_file_path = credentials_file)
  FileUtils.rm_f(credentials_file_path)
end

.write_credentials(credentials, credentials_file_path = credentials_file) ⇒ Object

Writes credentials



62
63
64
65
66
67
# File 'lib/gooddata/helpers/auth_helpers.rb', line 62

def write_credentials(credentials, credentials_file_path = credentials_file)
  File.open(credentials_file_path, 'w', 0o600) do |f|
    f.puts JSON.pretty_generate(credentials)
  end
  credentials
end