class Bolts::Settings
Public Class Methods
new(project_root='.')
click to toggle source
# File lib/bolts/settings.rb, line 5 def initialize(project_root='.') @project_root = project_root end
Public Instance Methods
data()
click to toggle source
# File lib/bolts/settings.rb, line 9 def data return @data if @data @data = defaults if File.exist?(settings_path) custom_data = YAML.load_file(settings_path) @data.merge!(custom_data) ensure_default_cluster(@data) end @data end
defaults()
click to toggle source
# File lib/bolts/settings.rb, line 21 def defaults { "user" => "ec2-user", "service_cluster" => {"default" => "default"} } end
ensure_default_cluster(data)
click to toggle source
When user's .bolts/settings.yml lack the default cluster, we add it on. Otherwise the user get confusing and scary aws-sdk-core/param_validator errors: Example: gist.github.com/bolts/67b9a68a77363b908d1c36047bc2709a
# File lib/bolts/settings.rb, line 31 def ensure_default_cluster(data) unless @data["service_cluster"]["default"] @data["service_cluster"]["default"] = "default" end end
settings_path()
click to toggle source
# File lib/bolts/settings.rb, line 37 def settings_path "#{ENV['HOME']}/.bolts/settings.yml" end