Sha256: a7703257af98840476a6834d2bf0da2226f4a879be41042ff5c39482fc551fe0

Contents?: true

Size: 982 Bytes

Versions: 7

Compression:

Stored size: 982 Bytes

Contents

module Policies
  extend Walruz::Utils
  
  #
  # Add an autoload invocation to the policies you implement on the policies
  # directory. 
  # Examples:
  #   autoload :AdminPolicy, 'policies/admin'
  #   autoload :FooPolicy, 'policies/other'
  #
  
  autoload :AuthorPolicy,       'walruz/policies/author_policy'
  autoload :ColaborationPolicy, 'walruz/policies/colaboration_policy'
  autoload :BlahPolicy, 'walruz/policies/blah_policy'
  
  # Then use it on your models:
  #
  # class ASubject
  #   check_authorization :create => Policies::AdminPolicy
  # end
  #
  
  #
  #
  # If you want to use combined policies and give them a name you can do so
  # pretty easily using the `orP`, `andP` or `notP` helpers
  #
  # AdminOrFooPolicy = orP(AdminPolicy, FooPolicy)
  # AdminAndNotFooPolicy = andP(AdminPolicy, notP(FooPolicy))
  #
  AuthorOrColabororPolicy = orP(AuthorPolicy, ColaborationPolicy)
  AuthorAndNotColaboratorPolicy = orP(AuthorPolicy, notP(ColaborationPolicy))
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
walruz-rails-0.0.11 examples/rails/lib/walruz/policies.rb
walruz-rails-0.0.10 examples/rails/lib/walruz/policies.rb
walruz-rails-0.0.9 examples/rails/lib/walruz/policies.rb
walruz-rails-0.0.8 examples/rails/lib/walruz/policies.rb
walruz-rails-0.0.3 examples/rails/lib/walruz/policies.rb
walruz-rails-0.0.4 examples/rails/lib/walruz/policies.rb
walruz-rails-0.0.5 examples/rails/lib/walruz/policies.rb