Class: RubybenchRunner::DependenciesChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/rubybench_runner/dependencies_checker.rb

Class Method Summary collapse

Class Method Details

.checkObject



8
9
10
11
# File 'lib/rubybench_runner/dependencies_checker.rb', line 8

def self.check
  check_pg
  check_mysql
end

.check_mysqlObject



24
25
26
27
28
29
30
31
# File 'lib/rubybench_runner/dependencies_checker.rb', line 24

def self.check_mysql
  version = `mysql_config --version`.strip
  if version != CURRENT_MYSQL_VERSION
    warn("MySQL", version, CURRENT_MYSQL_VERSION)
  end
rescue Errno::ENOENT
  raise MissingDependency.new("MySQL doesn't seem to be installed on your system. Please install it and run the benchmarks again")
end

.check_pgObject



13
14
15
16
17
18
19
20
21
22
# File 'lib/rubybench_runner/dependencies_checker.rb', line 13

def self.check_pg
  output = `pg_config --version`.strip
  output =~ /^PostgreSQL ([\d.]+)/
  version = $1
  if version != CURRENT_PG_VERSION
    warn("PostgreSQL", version, CURRENT_PG_VERSION)
  end
rescue Errno::ENOENT
  raise MissingDependency.new("Postgres doesn't seem to be installed on your system. Please install it and run the benchmarks again")
end

.warn(program, installed, recommended) ⇒ Object



33
34
35
36
37
# File 'lib/rubybench_runner/dependencies_checker.rb', line 33

def self.warn(program, installed, recommended)
  puts "    Warning: rubybench.org is currently running version \#{recommended} of \#{program}, you're running version \#{installed}.\n  ALERT\nend\n"