class Stairs::InteractiveConfiguration
Public Instance Methods
run!()
click to toggle source
# File lib/stairs/interactive_configuration.rb, line 6 def run! if Stairs.configuration.use_defaults use_recommended_adapter! else configure_env_adapter end end
Private Instance Methods
adapter_names()
click to toggle source
# File lib/stairs/interactive_configuration.rb, line 54 def adapter_names @adapter_names ||= Stairs::EnvAdapters::ADAPTERS.map { |n, _a| n.to_s } end
configure_env_adapter()
click to toggle source
# File lib/stairs/interactive_configuration.rb, line 16 def configure_env_adapter require_installed_adapter! choice prompt do |yes| if yes use_recommended_adapter! else select_env_adapter end end end
prompt()
click to toggle source
# File lib/stairs/interactive_configuration.rb, line 47 def prompt ''.tap do |message| message << "Looks like you're using #{recommended_adapter_name} to " message << 'manage environment variables. Is this correct?' end end
recommended_adapter()
click to toggle source
# File lib/stairs/interactive_configuration.rb, line 39 def recommended_adapter @recommended_adapter ||= Stairs::EnvAdapters.recommended_adapter end
recommended_adapter_name()
click to toggle source
# File lib/stairs/interactive_configuration.rb, line 43 def recommended_adapter_name Stairs::EnvAdapters.name_for_adapter_class(recommended_adapter) end
require_installed_adapter!()
click to toggle source
# File lib/stairs/interactive_configuration.rb, line 58 def require_installed_adapter! return if recommended_adapter abort <<-MSG Please install a supported ENV variable manager: #{adapter_names.join(', ')} MSG end
select_env_adapter()
click to toggle source
# File lib/stairs/interactive_configuration.rb, line 28 def select_env_adapter choice 'Which would you prefer?', adapter_names do |name| adapter_class = Stairs::EnvAdapters::ADAPTERS[name.to_sym] Stairs.configuration.env_adapter = adapter_class.new end end
use_recommended_adapter!()
click to toggle source
# File lib/stairs/interactive_configuration.rb, line 35 def use_recommended_adapter! Stairs.configuration.env_adapter = recommended_adapter.new end