Module: Aquarium::Aspects::Advice
- Included in:
- Aspect
- Defined in:
- lib/aquarium/aspects/advice.rb
Constant Summary collapse
- UNKNOWN_ADVICE_KIND =
"unknown"
- KINDS_IN_PRIORITY_ORDER =
[:around, :before, :after, :after_returning, :after_raising]
Class Method Summary collapse
- .compare_advice_kinds(kind1, kind2) ⇒ Object
- .debug_backtraces ⇒ Object
- .debug_backtraces=(val) ⇒ Object
- .kinds ⇒ Object
- .sort_by_priority_order(advice_kinds) ⇒ Object
Class Method Details
.compare_advice_kinds(kind1, kind2) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/aquarium/aspects/advice.rb', line 27 def self.compare_advice_kinds kind1, kind2 if kind1.nil? return kind2.nil? ? 0 : -1 end return 1 if kind2.nil? if kind1.eql?(UNKNOWN_ADVICE_KIND) return kind2.eql?(UNKNOWN_ADVICE_KIND) ? 0 : -1 else return kind2.eql?(UNKNOWN_ADVICE_KIND) ? 1 : KINDS_IN_PRIORITY_ORDER.index(kind1) <=> KINDS_IN_PRIORITY_ORDER.index(kind2) end end |
.debug_backtraces ⇒ Object
16 |
# File 'lib/aquarium/aspects/advice.rb', line 16 def self.debug_backtraces; @DEBUG_BACKTRACES; end |
.debug_backtraces=(val) ⇒ Object
17 |
# File 'lib/aquarium/aspects/advice.rb', line 17 def self.debug_backtraces=( val ); @DEBUG_BACKTRACES = val; end |
.kinds ⇒ Object
19 |
# File 'lib/aquarium/aspects/advice.rb', line 19 def self.kinds; KINDS_IN_PRIORITY_ORDER; end |
.sort_by_priority_order(advice_kinds) ⇒ Object
21 22 23 24 25 |
# File 'lib/aquarium/aspects/advice.rb', line 21 def self.sort_by_priority_order advice_kinds advice_kinds.sort do |x,y| KINDS_IN_PRIORITY_ORDER.index(x.to_sym) <=> KINDS_IN_PRIORITY_ORDER.index(y.to_sym) end.map {|x| x.to_sym} end |