samples/access_rules.rb in tuersteher-0.1.4 vs samples/access_rules.rb in tuersteher-0.2.1

- old
+ new

@@ -10,21 +10,30 @@ # Aufbau: # Path : URL-Pfad, wird als regex ausgewertet # Methode : :all, :get, :put, :post, :delete oder :edit # roles :Liste der berechtigten Rollen (es können mehrere Rollen durch Komma getrennt angegeben werden) # -grant_path '/', :get, :all -grant_path :all, :all, :ADMIN -deny_path '/user/lock', :user +path('/').grant.method(:get) +path(:all).grant.role(:ADMIN) +path('/user/lock').deny.role(:USER).role(:APPROVER) +path('/special').grant.extension(:special?, :area1) + # # Model-Object-Zugriffsregeln # Aufbau: # Model-Klasse : Klasse des Models # Zugriffsart : frei definierbares Symbol, empfohlen :update, :create, :destroy # Roles : Aufzählung der Rollen # Block : optionaler Block, diesem wird die Model-Instance und der User als Parameter bereitgestellt -grant_model String, :view, :all -grant_model String, :view, :ADMIN, :EDITOR -grant_model String, :update, :EDITOR do |model, user| model == user.name end +#grant_model String, :view, :all +#grant_model String, :view, :ADMIN, :EDITOR +#grant_model String, :update, :EDITOR do |model, user| model == user.name end +model(Dashboard).grant.permission(:view) + +model(Todo) do + grant.permission(:view) + grant.permission(:full_view).role(:ADMIN) + grant.permission(:update).role(:EDITOR).extension(:owned_by?) # calls Todo.owned_by?(current_user) +end