Sha256: 6b5a42a3113217f63940695d6964c6f6ba9ba9a9fa385db1a15f28c784f31b2a
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true module Rus3 module Printer # Indicates the version of the printer module. VERSION = "0.2.1" class Printer attr_accessor :verbose def initialize @verbose = false end def self.version "" end end class RubyPrinter < Printer def print(obj) prefix = "==> " prefix += "[#{obj.class}]: " if @verbose Kernel.print prefix pp obj end def self.version "ruby-object-printer :version #{VERSION}" end end class SchemePrinter < Printer include Rus3::Procedure::Write def print(obj) display(obj) end def self.version "scheme-printer :version #{VERSION}" end end class ChainPrinter < Printer CHAIN = [RubyPrinter.new, SchemePrinter.new] def self.version chain_printers = CHAIN.map{|e| e.class} "chain-printer :version #{VERSION} :chain (#{chain_printers})" end def verbose=(flag) CHAIN.each{|printer| printer.verbose = flag} end def print(obj) CHAIN.each{|printer| printer.print(obj)} end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rus3-0.2.1 | lib/rus3/printer.rb |