blob: 119a237864949aac98404caac837db8224823718 [file] [log] [blame]
require 'whimsy/asf/config'
task :server => 'views/pages.js.rb' do
ENV['RACK_ENV']='development'
require 'wunderbar/listen'
end
file "views/pages.js.rb" => FileList['views/pages/*.js.rb'] do
File.open('views/pages.js.rb', 'w') do |pages|
# define a dummy superclass
class React
end
# evaluate each page in a module, and output a 'require' statement for each
Dir.chdir(File.expand_path('../views', __FILE__)) do
Dir['pages/*.js.rb'].each do |page|
eval "module Pages; #{File.read page}; end"
pages.puts "require_relative #{page.sub(/\.js\.rb$/, '').inspect}"
end
end
# output a list of page class names
pages.print "\nPages = [\n "
pages.print Pages.constants.map(&:to_s).map(&:inspect).join(",\n ")
pages.puts "\n]"
end
end