Sha256: 721db80971e0b0f82307e23c7db041d7b6b88e3b77888e3fec6fa0536afce808
Contents?: true
Size: 1.71 KB
Versions: 16
Compression:
Stored size: 1.71 KB
Contents
require 'bundler/gem_tasks' require 'rake/testtask' require 'rspec/core/rake_task' require 'fileutils' begin require 'rdoc/task' rescue LoadError require 'rdoc/rdoc' require 'rake/rdoctask' RDoc::Task = Rake::RDocTask end module Postgres class << self def exec(query) `psql postgres -tAc "#{query}"` end def user_exists?(username) exec("SELECT 1 FROM pg_user WHERE usename='#{username}'").strip == '1' end def drop_user(username) puts "dropping user #{username}" puts exec("DROP USER #{username}").inspect end def create_user(username) user_exists?(username) ? false : `createuser -s #{username}` end end end def within_dummy_app Dir.chdir('spec/dummy') do ENV['BUNDLE_GEMFILE'] = File.join File.dirname(__FILE__), 'Gemfile' yield end end desc 'Run specs' RSpec::Core::RakeTask.new(spec: :setup) RDoc::Task.new(:rdoc) do |rdoc| rdoc.rdoc_dir = 'rdoc' rdoc.title = 'Qbrick' rdoc.options << '--line-numbers' rdoc.rdoc_files.include('README.rdoc') rdoc.rdoc_files.include('lib/**/*.rb') end desc 'set up the dummy app for testing' task :setup do Postgres.create_user 'screenconcept' within_dummy_app do `bundle exec rake qbrick:install:migrations` `bundle exec rails generate qbrick:install:assets` `bundle exec rake db:drop` `bundle exec rake db:create` `bundle exec rake db:migrate` `bundle exec rake db:test:prepare` end end task default: [:spec] desc 'start the dummy app' task :start_dummy do within_dummy_app do `bundle exec rails server` end end namespace :dummy_db do desc 'migrate in dummy app' task :migrate do within_dummy_app do `bundle exec rake db:migrate 2>&1` end end end
Version data entries
16 entries across 16 versions & 1 rubygems