Module Aquarium::Aspects::Advice
In: lib/aquarium/aspects/advice.rb

Methods

Constants

UNKNOWN_ADVICE_KIND = "unknown"
KINDS_IN_PRIORITY_ORDER = [:around, :before, :after, :after_returning, :after_raising]

Public Class methods

[Source]

    # File lib/aquarium/aspects/advice.rb, line 23
23:       def self.compare_advice_kinds kind1, kind2
24:         if kind1.nil?
25:           return kind2.nil? ? 0 : -1
26:         end
27:         return 1 if kind2.nil?
28:         if kind1.eql?(UNKNOWN_ADVICE_KIND)
29:           return kind2.eql?(UNKNOWN_ADVICE_KIND) ? 0 : -1
30:         else
31:           return kind2.eql?(UNKNOWN_ADVICE_KIND) ? 1 : KINDS_IN_PRIORITY_ORDER.index(kind1) <=> KINDS_IN_PRIORITY_ORDER.index(kind2)
32:         end
33:       end

[Source]

    # File lib/aquarium/aspects/advice.rb, line 15
15:       def self.kinds; KINDS_IN_PRIORITY_ORDER; end

[Source]

    # File lib/aquarium/aspects/advice.rb, line 17
17:       def self.sort_by_priority_order advice_kinds
18:         advice_kinds.sort do |x,y| 
19:           KINDS_IN_PRIORITY_ORDER.index(x.to_sym) <=> KINDS_IN_PRIORITY_ORDER.index(y.to_sym)
20:         end.map {|x| x.to_sym}
21:       end

[Validate]