lib/happy/ext/permissions.rb in happy-0.1.0.pre12 vs lib/happy/ext/permissions.rb in happy-0.1.0.pre13
- old
+ new
@@ -5,30 +5,24 @@
module Permissions
module ContextExtensions
extend ActiveSupport::Concern
def permissions(&blk)
- @permissions ||= Allowance.define
+ (@permissions ||= Allowance::Permissions.new).tap do |p|
+ if blk
+ blk.arity == 0 ? p.instance_exec(&blk) : blk.call(p)
+ end
+ end
end
- def can?(*args)
- permissions.allowed?(*args)
- end
+ alias_method :can, :permissions
end
module ControllerExtensions
extend ActiveSupport::Concern
included do
- delegate :can?, :to => :context
- end
-
- module ClassMethods
- attr_accessor :permissions_blk
-
- def permissions(&blk)
- self.permissions_blk = blk
- end
+ delegate :permissions, :can, :to => :context
end
end
end
end
end