seyhunak/twitter-bootstrap-rails

View on GitHub
Rakefile

Summary

Maintainability
Test Coverage
#!/usr/bin/env rake
require 'bundler'
require 'rspec/core/rake_task'

Bundler::GemHelper.install_tasks

desc "Bundle the gem"
task :bundle  => [:bundle_install, :build_static_stylesheets] do
  sh 'gem build *.gemspec'
  sh 'gem install *.gem'
  sh 'rm *.gem'
end

desc "Runs bundle install"
task :bundle_install do
  sh('bundle install')
end

desc "Build the static precompiled stylesheets from Less sources"
task :build_static_stylesheets do
  require 'less'

  toolkit_path = File.join('vendor', 'toolkit')

  parser = Less::Parser.new :paths => [toolkit_path]

  target_directory = File.expand_path('app/assets/stylesheets/twitter-bootstrap-static')

  sh "rm -rf #{target_directory}"
  sh "mkdir -p #{target_directory}"
  Dir['vendor/static-source/*.less'].each do |source_file|
    puts "Compiling #{source_file}"
    target_file = File.join(target_directory, File.basename(source_file, '.less')+'.css.erb')
    tree = parser.parse(File.read(source_file))
    File.open(target_file, 'w') {|f| f.puts tree.to_css(:compress => true) }
  end
end

task(:default).clear
task :default => :bundle

RSpec::Core::RakeTask.new do |task|
  task.rspec_opts = ['--color', '--format', 'doc']
end