Class: Buffet::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/buffet/settings.rb

Constant Summary collapse

DEFAULT_SETTINGS_FILE =
'buffet.yml'
DEFAULT_PREPARE_SCRIPT =
'bin/before-buffet-run'
DEFAULT_EXCLUDE_FILTER_FILE =
'.buffet-exclude-filter'

Class Method Summary collapse

Class Method Details

.[](name) ⇒ Object



10
11
12
13
# File 'lib/buffet/settings.rb', line 10

def [](name)
  @settings ||= load_file DEFAULT_SETTINGS_FILE
  @settings[name]
end

.exclude_filter_fileObject



45
46
47
# File 'lib/buffet/settings.rb', line 45

def exclude_filter_file
  self['exclude_filter_file'] || DEFAULT_EXCLUDE_FILTER_FILE
end

.frameworkObject



33
34
35
# File 'lib/buffet/settings.rb', line 33

def framework
  self['framework'].upcase || 'RSPEC1'
end

.has_exclude_filter_file?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/buffet/settings.rb', line 49

def has_exclude_filter_file?
  self['exclude_filter_file'] || File.exist?(DEFAULT_EXCLUDE_FILTER_FILE)
end

.has_prepare_script?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/buffet/settings.rb', line 41

def has_prepare_script?
  self['prepare_script'] || File.exist?(DEFAULT_PREPARE_SCRIPT)
end

.load_file(file) ⇒ Object



15
16
17
# File 'lib/buffet/settings.rb', line 15

def load_file file
  @settings = YAML.load_file file
end

.prepare_scriptObject



37
38
39
# File 'lib/buffet/settings.rb', line 37

def prepare_script
  self['prepare_script'] || DEFAULT_PREPARE_SCRIPT
end

.projectObject



29
30
31
# File 'lib/buffet/settings.rb', line 29

def project
  @project ||= Project.new Dir.pwd
end

.project_name=(project_name) ⇒ Object



25
26
27
# File 'lib/buffet/settings.rb', line 25

def project_name=(project_name)
  project.name = project_name
end

.reset!Object



53
54
55
# File 'lib/buffet/settings.rb', line 53

def reset!
  @settings = nil
end

.slavesObject



19
20
21
22
23
# File 'lib/buffet/settings.rb', line 19

def slaves
  @slaves ||= self['slaves'].map do |slave_hash|
    Slave.new slave_hash['user'], slave_hash['host'], project
  end
end