class Dotenvious::Prompter
Attributes
filename[R]
Public Class Methods
new(filename = DEFAULT_ENV_FILE)
click to toggle source
# File lib/dotenvious/prompter.rb, line 8 def initialize(filename = DEFAULT_ENV_FILE) @filename = filename end
Public Instance Methods
run()
click to toggle source
# File lib/dotenvious/prompter.rb, line 12 def run keys_in_question.each do |key, status| decision = prompt(key, status) return if decision == 'q' next unless decision.downcase == 'y' if status == 'missing' EnvAppender.new(filename).append(key) elsif status == 'mismatched' ValueReplacer.new(filename).replace(key) end end end
Private Instance Methods
display_mismatched_output(var)
click to toggle source
# File lib/dotenvious/prompter.rb, line 54 def display_mismatched_output(var) puts "ENV[#{var}] is set to: #{ENV[var]}" puts "Example [#{var}] is set to: #{ENV_EXAMPLE[var]}" puts "Replace with the example value? [y/n/q]" end
display_missing_output(var)
click to toggle source
# File lib/dotenvious/prompter.rb, line 49 def display_missing_output(var) puts "#{var}=#{ENV_EXAMPLE[var]}" puts "Add to #{filename}? [y/n/q]" end
keys_in_question()
click to toggle source
# File lib/dotenvious/prompter.rb, line 30 def keys_in_question missing_keys = missing_vars.zip(['missing'] * missing_vars.length) mismatched_keys = mismatched_vars.zip(['mismatched'] * mismatched_vars.length) missing_keys + mismatched_keys end
mismatched_vars()
click to toggle source
# File lib/dotenvious/prompter.rb, line 40 def mismatched_vars MismatchedVariableFinder.mismatched_vars end
missing_vars()
click to toggle source
# File lib/dotenvious/prompter.rb, line 36 def missing_vars MissingVariableFinder.missing_required_vars end
prompt(var, status)
click to toggle source
# File lib/dotenvious/prompter.rb, line 44 def prompt(var, status) send(:"display_#{status}_output", var) STDIN.gets.strip end