Sha256: 726bbacfd30cf234965800046fd7bfa89403cf7785e149f3db232ab88e05ba18

Contents?: true

Size: 765 Bytes

Versions: 2

Compression:

Stored size: 765 Bytes

Contents

module CanTango
  module Rules
    autoload_modules :Adaptor, :UserRelation, :Dsl, :Scope, :RuleClass

    include Dsl
    include CanTango::Rules::RuleClass
    # Examples:
    #   can :read, Project
    #   can [:read, :create], [Project, Post]
    #   can :read, Project, :active => true, :user_id => user.id
    def can(action, subject, conditions = nil, &block)
      rules << rule_class.new(true, action, subject, conditions, block)
    end

    # Examples:
    #   cannot :read, Project
    #   cannot [:read, :create], [Project, Post]
    #   cannot :read, Project, :active => true, :user_id => user.id    
    def cannot(action, subject, conditions = nil, &block)
      rules << rule_class.new(false, action, subject, conditions, block)
    end 
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cantango-0.8.5.1 lib/cantango/rules.rb
cantango-0.8.0 lib/cantango/rules.rb