Class: Authorization::Analyzer::GeneralAuthorizationProcessor
- Inherits:
-
SexpProcessor
- Object
- SexpProcessor
- Authorization::Analyzer::GeneralAuthorizationProcessor
- Defined in:
- lib/declarative_authorization/authorization_rules_analyzer.rb
Direct Known Subclasses
Instance Method Summary collapse
- #analyze(sexp_array) ⇒ Object
- #analyze_rules ⇒ Object
-
#initialize(analyzer) ⇒ GeneralAuthorizationProcessor
constructor
A new instance of GeneralAuthorizationProcessor.
- #process_arglist(exp) ⇒ Object
- #process_hash(exp) ⇒ Object
- #process_iter(exp) ⇒ Object
- #process_lit(exp) ⇒ Object
Constructor Details
#initialize(analyzer) ⇒ GeneralAuthorizationProcessor
Returns a new instance of GeneralAuthorizationProcessor.
34 35 36 37 38 39 40 |
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 34 def initialize(analyzer) super() self.auto_shift_type = true self.require_empty = false self.strict = false @analyzer = analyzer end |
Instance Method Details
#analyze(sexp_array) ⇒ Object
42 43 44 45 |
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 42 def analyze (sexp_array) process(sexp_array) analyze_rules end |
#analyze_rules ⇒ Object
47 48 49 |
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 47 def analyze_rules # to be implemented by specific processor end |
#process_arglist(exp) ⇒ Object
55 56 57 |
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 55 def process_arglist (exp) s(exp.collect {|inner_exp| process(inner_exp).shift}) end |
#process_hash(exp) ⇒ Object
59 60 61 |
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 59 def process_hash (exp) s(Hash[*exp.collect {|inner_exp| process(inner_exp).shift}]) end |
#process_iter(exp) ⇒ Object
51 52 53 |
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 51 def process_iter (exp) s(:iter, process(exp.shift), process(exp.shift), process(exp.shift)) end |
#process_lit(exp) ⇒ Object
63 64 65 |
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 63 def process_lit (exp) s(exp.shift) end |