Top Level Namespace

Defined Under Namespace

Modules: DMGen

Constant Summary collapse

HAS_SQLITE3 =
load_driver(:sqlite3,  'sqlite3::memory:')
HAS_MYSQL =
load_driver(:mysql,    'mysql://localhost/dm_core_test')
HAS_POSTGRES =
load_driver(:postgres, 'postgres://postgres@localhost/dm_core_test')

Instance Method Summary collapse

Instance Method Details

#load_driver(name, default_uri) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/dm-gen/templates/is/spec/spec_helper.rb', line 9

def load_driver(name, default_uri)
  return false if ENV['ADAPTER'] != name.to_s

  begin
    DataMapper.setup(name, ENV["#{name.to_s.upcase}_SPEC_URI"] || default_uri)
    DataMapper::Repository.adapters[:default] =  DataMapper::Repository.adapters[name]
    true
  rescue LoadError => e
    warn "Could not load do_#{name}: #{e}"
    false
  end
end

#sudo_gem(cmd) ⇒ Object



1
2
3
# File 'lib/dm-gen/templates/is/tasks/install.rb', line 1

def sudo_gem(cmd)
  sh "#{SUDO} #{RUBY} -S gem #{cmd}", :verbose => false
end