diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2017-10-02 17:21:22 -0700 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2017-10-02 17:21:22 -0700 |
| commit | dcd3391b36c7accc194cfdc8654db085c9bc820e (patch) | |
| tree | d55e932ed8b4ba17dd5729803e27c1a543fb672a /lib/permissions.nom | |
| parent | e2bbbfe1611f12b33692af175d661fa25b2cc616 (diff) | |
Updated to undo some of the block/thunk stuff. Thunks are thunks, and
expressions can be grouped with parens, and they have a clear
distinction.
Diffstat (limited to 'lib/permissions.nom')
| -rw-r--r-- | lib/permissions.nom | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/permissions.nom b/lib/permissions.nom index a65fb67..a2fffff 100644 --- a/lib/permissions.nom +++ b/lib/permissions.nom @@ -4,44 +4,44 @@ require "lib/operators.nom" require "lib/collections.nom" # Permission functions -rule (standardize rules %rules) =: +rule [standardize rules %rules] =: if (lua expr "type(vars.rules) == 'string'"): %rules = [%rules] (nomsu "get_stub" [%]) for all %rules -rule (restrict %rules to within %elite-rules) =: - %rules =: standardize rules %rules - %elite-rules =: standardize rules %elite-rules +rule [restrict %rules to within %elite-rules] =: + %rules = (standardize rules %rules) + %elite-rules = (standardize rules %elite-rules) say "Restricting \(%rules) to within \(%elite-rules)" for all (flatten [%elite-rules, %rules]): assert ((nomsu's "defs") has key %) "Undefined function: \(%)" for %rule in %rules: assert (nomsu "check_permission" [%]) ".." |You do not have permission to restrict permissions for function: \(%) - ((nomsu) ->* ["defs",%rule,"whiteset"]) =: + ((nomsu) ->* ["defs",%rule,"whiteset"]) = (..) dict: [%, yes] for all %elite-rules -rule (allow %elite-rules to use %rules) =: - %rules =: standardize rules %rules - %elite-rules =: standardize rules %elite-rules +rule [allow %elite-rules to use %rules] =: + %rules = (standardize rules %rules) + %elite-rules = (standardize rules %elite-rules) say "Allowing \(%elite-rules) to use \(%rules)" for all (flatten [%elite-rules, %rules]): assert ((nomsu's "defs") has key %) "Undefined function: \(%)" for %rule in %rules: assert (nomsu "check_permission" [%rule]) ".." |You do not have permission to grant permissions for function: \(%rule) - %whiteset =: (nomsu) ->* ["defs",%rule,"whiteset"] + %whiteset = ((nomsu) ->* ["defs",%rule,"whiteset"]) if (not %whiteset): go to next %rule for all %elite-rules: %whiteset -> % = (yes) -rule (forbid %pleb-rules to use %rules) =: - %rules =: standardize rules %rules - %pleb-rules =: standardize rules %pleb-rules +rule [forbid %pleb-rules to use %rules] =: + %rules = (standardize rules %rules) + %pleb-rules = (standardize rules %pleb-rules) say "Forbidding \(%pleb-rules) to use \(%rules)" for all (flatten [%pleb-rules, %used]): assert ((nomsu's "defs") has key %) "Undefined function: \(%)" for all %rules: assert (nomsu "check_permission" [%]) ".." |You do not have permission to grant permissions for function: \(%) - %whiteset =: (nomsu) ->* ["defs",%,"whiteset"] + %whiteset = ((nomsu) ->* ["defs",%,"whiteset"]) assert %whiteset ".." |Cannot individually restrict permissions for \(%) because it is currently |available to everyone. Perhaps you meant to use "restrict % to within %" instead? |
