Method: Hx::Interop::Middleware.stack
- Defined in:
- lib/interop/middleware.rb
.stack(*classes, connection) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/interop/middleware.rb', line 23 def self.stack(*classes, connection) raise ArgumentError, "Expected an instance of #{ReaderWriter}" unless connection.is_a? ReaderWriter classes.reverse.reduce connection do |wrapped, klass| raise ArgumentError, "Expected subclasses of #{self}" unless klass.is_a?(Class) && klass < self klass.new(wrapped) end end |