guard-jammit/lib/guard/jammit.rb

67 lines
1.4 KiB
Ruby
Raw Normal View History

2010-11-08 18:35:23 +00:00
require 'guard'
require 'guard/guard'
require 'jammit'
2010-11-08 18:35:23 +00:00
module Guard
class Jammit < Guard
2010-11-08 18:35:23 +00:00
def initialize(watchers = [], options = {})
super
2010-11-08 18:35:23 +00:00
# init stuff here, thx!
::Jammit.load_configuration ::Jammit::DEFAULT_CONFIG_PATH
2010-11-08 18:35:23 +00:00
end
# ================
# = Guard method =
# ================
# If one of those methods raise an exception, the Guard instance
# will be removed from the active guard.
# Call once when guard starts
# Please override initialize method to init stuff
def start
jammit
end
# Call with Ctrl-C signal (when Guard quit)
def stop
true
end
# Call with Ctrl-Z signal
# This method should be mainly used for "reload" (really!) actions like reloading passenger/spork/bundler/...
def reload
jammit
end
# Call with Ctrl-/ signal
# This method should be principally used for long action like running all specs/tests/...
def run_all
jammit
end
# Call on file(s) modifications
def run_on_change(paths)
jammit
end
def jammit
ensure_rails_env!
::Jammit.reload!
puts "Jamming assets..."
::Jammit.packager.force = true
::Jammit.packager.precache_all
2010-11-08 18:35:23 +00:00
true
end
private
def ensure_rails_env!
if !defined?(::Rails) || !::Rails.respond_to?(:env)
require 'rails'
end
end
2010-11-08 18:35:23 +00:00
end
end