Sha256: 046bf866513a0b1884938f01dc39db6339238d992ae51f09b701ddb3112f17c8
Contents?: true
Size: 990 Bytes
Versions: 2
Compression:
Stored size: 990 Bytes
Contents
# frozen_string_literal: true module Hanami module CLI # @api private class MiddlewareStackInspector def initialize(stack:) @stack = stack end def inspect(include_arguments: false) max_path_length = @stack.map { |(path)| path.length }.max @stack.map { |path, middleware| middleware.map { |(mware, arguments)| "#{path.ljust(max_path_length + 3)} #{format_middleware(mware)}".tap { |line| line << " #{format_arguments(arguments)}" if include_arguments } } }.join("\n") + "\n" end private def format_middleware(middleware) case middleware when Class middleware.name || "(class)" when Module middleware.name || "(module)" else "#{middleware.class.name} (instance)" end end def format_arguments(arguments) "args: #{arguments.inspect}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hanami-cli-2.0.0.rc1 | lib/hanami/cli/middleware_stack_inspector.rb |
hanami-cli-2.0.0.beta4 | lib/hanami/cli/middleware_stack_inspector.rb |