Module: Buffet
- Defined in:
- lib/buffet/version.rb,
lib/buffet.rb,
lib/buffet/cli.rb,
lib/buffet/slave.rb,
lib/buffet/master.rb,
lib/buffet/runner.rb,
lib/buffet/project.rb,
lib/buffet/settings.rb,
lib/buffet/command_runner.rb
Overview
Defined Under Namespace
Classes: CLI, CommandError, CommandRunner, Master, Project, Runner, Settings, Slave
Constant Summary
collapse
- VERSION =
'2.1.0'
Class Method Summary
collapse
Class Method Details
.environment_to_shell_string(env) ⇒ Object
59
60
61
|
# File 'lib/buffet.rb', line 59
def self.environment_to_shell_string(env)
env.map { |key, value| "#{key}=#{value}" }.join(' ')
end
|
Given a set of files/directories, return all spec files contained
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/buffet.rb', line 47
def self. files
specs = []
files.each do |spec_file|
Find.find(spec_file).
reject { |file| Settings.file_excluded?(file) }.
each do |file|
specs << file if file.match /_spec\.rb$/
end
end
specs.uniq
end
|
.log_dir ⇒ Object
16
17
18
|
# File 'lib/buffet.rb', line 16
def self.log_dir
@log_dir ||= Pathname.new(ENV['HOME']) + '.buffet/log'
end
|
.log_file ⇒ Object
20
21
22
|
# File 'lib/buffet.rb', line 20
def self.log_file
Settings.log_file
end
|
.logger ⇒ Object
24
25
26
27
28
29
|
# File 'lib/buffet.rb', line 24
def self.logger
@logger ||= begin
FileUtils.mkdir_p log_dir
Logger.new log_dir + log_file
end
end
|
.run!(*command) ⇒ Object
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/buffet.rb', line 35
def self.run! *command
result = runner.run *command
unless result.success?
message = "`#{command.join(' ')}` exited with non-zero status: #{result.status}"
message += "\nSTDOUT: #{result.stdout}" unless result.stdout.empty?
message += "\nSTDERR: #{result.stderr}" unless result.stderr.empty?
raise CommandError.new(message)
end
result
end
|
.runner ⇒ Object
31
32
33
|
# File 'lib/buffet.rb', line 31
def self.runner
@runner ||= CommandRunner.new logger
end
|
.user ⇒ Object
67
68
69
|
# File 'lib/buffet.rb', line 67
def self.user
@user ||= `whoami`.chomp
end
|
.workspace_dir ⇒ Object
63
64
65
|
# File 'lib/buffet.rb', line 63
def self.workspace_dir
".buffet/workspaces/#{user}" end
|