module Temple::Mixins::EngineDSL
def before(name, *args, &block)
def before(name, *args, &block) name = Class === name ? name.name.to_sym : name raise(ArgumentError, 'First argument must be Class or Symbol') unless Symbol === name e = element(args, block) found, i = false, 0 while i < chain.size if chain[i].first == name found = true chain.insert(i, e) i += 2 else i += 1 end end raise "#{name} not found" unless found chain_modified! end