Class: CredSummoner::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/credsummoner/config.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(okta_aws_embed_link: nil) ⇒ Config

Returns a new instance of Config.



8
9
10
# File 'lib/credsummoner/config.rb', line 8

def initialize(okta_aws_embed_link: nil)
  @okta_aws_embed_link = okta_aws_embed_link
end

Instance Attribute Details

Returns the value of attribute okta_aws_embed_link.



6
7
8
# File 'lib/credsummoner/config.rb', line 6

def okta_aws_embed_link
  @okta_aws_embed_link
end

Class Method Details

.config_dirObject



25
26
27
# File 'lib/credsummoner/config.rb', line 25

def self.config_dir
  "#{ENV['HOME']}/.config/credsummoner"
end

.config_fileObject



29
30
31
# File 'lib/credsummoner/config.rb', line 29

def self.config_file
  "#{config_dir}/config.yml"
end

.exists?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/credsummoner/config.rb', line 12

def self.exists?
  File.exists?(config_file)
end

.loadObject



16
17
18
19
20
21
22
23
# File 'lib/credsummoner/config.rb', line 16

def self.load
  if exists?
    yaml = YAML.load(File.read(config_file))
    Config.new(okta_aws_embed_link: yaml['okta_aws_embed_link'])
  else
    raise 'no config file'
  end
end

Instance Method Details

#saveObject



33
34
35
36
37
38
# File 'lib/credsummoner/config.rb', line 33

def save
  FileUtils.mkdir_p(Config.config_dir)
  File.open(Config.config_file, 'w', 0600) do |file|
    file.puts(YAML.dump(serialize))
  end
end

#serializeObject



40
41
42
43
44
# File 'lib/credsummoner/config.rb', line 40

def serialize
  {
    'okta_aws_embed_link' => okta_aws_embed_link
  }
end