# File lib/ruote/extract.rb, line 108 def self.extract_fexp(context, fei_or_fexp) return fei_or_fexp if fei_or_fexp.is_a?(Ruote::Exp::FlowExpression) fei = case fei_or_fexp when Ruote::FlowExpressionId then fei_or_fexp when Hash, String then extract_fei(fei_or_fexp) else nil end raise ArgumentError.new( "failed to extract flow expression out of #{fei_or_fexp.class} instance" ) unless fei Ruote::Exp::FlowExpression.fetch(context, fei) end