lib/saasable/railties/helpers.rb in saasable-0.2.2 vs lib/saasable/railties/helpers.rb in saasable-0.3.0
- old
+ new
@@ -1,10 +1,37 @@
module Saasable::Railties
module Helpers
def self.included klass
+ klass.extend ClassMethods
klass.send(:include, InstanceMethods)
klass.class_eval do
helper_method :current_saas
+
+ before_filter :_redirect_if_saas_not_found
+ saas_not_found_redirect_to "/404.html"
+
+ private
+ def _skip_saasable
+ current_saas.deactivate! if current_saas
+ end
+ end
+ end
+
+ module ClassMethods
+ def saas_not_found_redirect_to path_or_url
+ self.class_eval <<-METHOD, __FILE__, __LINE__ + 1
+ private
+ def _redirect_if_saas_not_found
+ unless current_saas
+ redirect_to "#{path_or_url}"
+ end
+ end
+ METHOD
+ end
+
+ def skip_saasable options
+ skip_before_filter :_redirect_if_saas_not_found, options
+ before_filter :_skip_saasable, options
end
end
module InstanceMethods
def current_saas
\ No newline at end of file