Skip to content

Instantly share code, notes, and snippets.

View vinibaggio's full-sized avatar

Vinicius Baggio Fuentes vinibaggio

View GitHub Profile
module FailingMacros
def self.included(base)
base.send(:extend, ClassMethods)
end
module ClassMethods
def should_indeed_fail
it "should indeed fail" do
fail "Just fail"
end
def self.allow(roles, options = {})
class_eval do
def check_permission
# Insert your application logic here
if current_user.nil? or !current_user.roles.exists?(:id => roles)
flash[:notice] = "Go away!"
return check_and_redirect_to("/login")
end
end
end
module AllowMacros
def self.included(mod)
mod.extend ClassMethods
end
module ClassMethods
FILTER_METHOD = :check_permission