require 'beryl' require 'bowser' require 'opal' require 'rake/testtask'

desc 'Build the app to build/app.js' task :compile do

Opal.append_path 'app'
Opal.append_path 'lib'
Opal.use_gem 'beryl'
Dir.mkdir('build') unless File.exist?('build')
File.binwrite 'build/app.js', Opal::Builder.build('frontend').to_s
File.binwrite 'build/style.css', File.read("#{File.dirname(__FILE__)}/style.css")

end

desc 'Build and run the app' task :run do

Rake::Task['compile'].invoke
sh 'bundle exec rackup --port 3000 --host 0.0.0.0'

end

desc 'Test the app' Rake::TestTask.new(:test) do |t|

t.libs << 'test'
t.libs << 'lib'
t.test_files = FileList['test/**/*_test.rb']

end

task :default => :test