Sha256: c9fd0966008dc8fe7dd6ed69d476035a32739765bf55f37deaa4349363b2d8a9

Contents?: true

Size: 925 Bytes

Versions: 6

Compression:

Stored size: 925 Bytes

Contents

module Fixtures
  module TraceTest
    module TraceProgram1
      class Main
        def initialize(printer)
          @printer = printer
        end

        def say(msg)
          @printer.say(msg)
        end
      end

      module Printer
        # Stdout is a class with a 'say' instance method.
        class Stdout
          def say(msg)
            puts(msg)
          end
        end

        # Define 'say' on a static class method.
        class Stderr
          class << self
            def say(msg)
              warn(msg)
            end
          end
        end

        # make_stderr_printer builds an object which modifies 'say' to print to stderr.
        def Printer.make_stderr_printer
          Stdout.new.tap do |err_printer|
            class << err_printer
              def say(msg)
                warn(msg)
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
appmap-0.23.0 test/fixtures/trace_test/trace_program_1.rb
appmap-0.22.0 test/fixtures/trace_test/trace_program_1.rb
appmap-0.21.0 test/fixtures/trace_test/trace_program_1.rb
appmap-0.20.0 test/fixtures/trace_test/trace_program_1.rb
appmap-0.19.0 test/fixtures/trace_test/trace_program_1.rb
appmap-0.18.1 test/fixtures/trace_test/trace_program_1.rb