Class: ConfConf::CLI::Root

Inherits:
Thor
  • Object
show all
Defined in:
lib/conf_conf/cli/root.rb

Instance Method Summary collapse

Instance Method Details

#export(environment_name) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/conf_conf/cli/root.rb', line 27

def export(environment_name)
  project     = ConfConf::Project.new
  environment = project.environments[environment_name]

  environment.variables.each do |variable_name, variable_value|
    puts "#{variable_name}=#{variable_value}"
  end
end

#import(environment_name) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/conf_conf/cli/root.rb', line 38

def import(environment_name)
  require 'dotenv'

  project = ConfConf::Project.new
  environment = project.environments[environment_name]
  dotenv_environment = Dotenv::Environment.new('.env')

  dotenv_environment.each do |k,v|
    environment.set(k, v)
  end

  environment.save
  puts MultiJson.dump(environment.variables, pretty: true)
end

#infoObject



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/conf_conf/cli/root.rb', line 54

def info
  project = ConfConf::Project.new

  summary = {}
  summary[:environments] = project.environments.to_a.collect(&:name)
  summary[:variables] = {}

  project.environments.to_a.each do |environment|
    environment.variables.each do |variable_name, variable_value|
      summary[:variables][variable_name] ||= []
      summary[:variables][variable_name] << environment.name
    end
  end

  puts MultiJson.dump(summary, pretty: true)
end

#initObject



19
20
21
22
23
24
# File 'lib/conf_conf/cli/root.rb', line 19

def init
   = ConfConf::Project::Developer.current
  FileUtils.mkdir_p('config/conf_conf')
  FileUtils.mkdir_p('config/conf_conf/environments')
  puts MultiJson.dump(account: , pretty: true)
end