class Futon::Configuration
Attributes
workspaces[R]
Public Class Methods
new()
click to toggle source
# File lib/futon/configuration.rb, line 11 def initialize options = load_from(default_config_file) @workspaces = setup_workspaces(options) end
Private Instance Methods
default_config_file()
click to toggle source
# File lib/futon/configuration.rb, line 25 def default_config_file File.expand_path('~/.futon/default.yml') end
load_from(filename)
click to toggle source
# File lib/futon/configuration.rb, line 21 def load_from(filename) YAML.load_file(filename) end
setup_workspaces(options)
click to toggle source
# File lib/futon/configuration.rb, line 29 def setup_workspaces(options) msg = 'expected valid config, got %s' raise Error::NoWorkspaces, format(msg, options.inspect) unless options workspaces = options.fetch(:workspaces) workspaces.map do |name, workspace_options| Workspace.new(workspace_options.merge(name: name)) end rescue KeyError => e raise Error::NoWorkspaces, e.message end