samples/access_rules.rb in tuersteher-0.2.2 vs samples/access_rules.rb in tuersteher-0.3.0

- old
+ new

@@ -6,34 +6,38 @@ # # Pfad-Zugriffsregeln # 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) -# +# path(<path>).grant[.method(<methode>)][.not][.role(<role>)][.extension(<ext_method>[, <expected_value>)] +# or +# path(<path>).deny[.method(<methode>)][.not][.role(<role>)][.extension(<ext_method>[, <expected_value>)] +# with +# <method>: HTTP-Method name as Symbol (:get, :put, :post, :delete) or :all 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 +# model(<ModelClass>).grant.permission(<permission>)[.role(<role>)][.extension(<method>[, <expected_value>])] +# or +# model(<ModelClass>).deny.permission(<permission>)[.not][.role(<role>)][.extension(<method>[, <expected_value>])] +# or +# model(<ModelClass> do +# grant..permission(<permission>)[.role(<role>)][.extension(<method>[, <expected_value>])] +# deny.permission(<permission>)[.role(<role>)][.extension(<method>[, <expected_value>])] +# ... +# 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) + grant-permission(:delete).not.role(:ADMIN) end