Sha256: e8cb8cc0779f4d8dbe6bfbd80b3dfddbdbcc77f240c248063056a9d8df4e0791

Contents?: true

Size: 751 Bytes

Versions: 5

Compression:

Stored size: 751 Bytes

Contents

require "forwardable"

module CutePrint

  class Configure

    extend Forwardable

    # Configure an instance of printer.
    # @api private
    # @param [Printer] printer
    # @yield [Configure]
    def initialize(printer)
      @printer = printer
      yield self
    end

    def_delegator :@printer, :set_defaults, :reset

    def self.delegate_accessor(name)
      def_delegator :@printer, name
      def_delegator :@printer, "#{name}="
    end

    # @!attribute [rw] location_format
    #   @return [String] The location format
    #   @see Printer#location_format
    delegate_accessor :location_format

    # @!attribute [rw] out
    #   @return [#puts] The file to write to
    #   @see Printer#out
    delegate_accessor :out

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cute_print-1.0.1 lib/cute_print/configure.rb
cute_print-1.0.0 lib/cute_print/configure.rb
cute_print-0.4.0 lib/cute_print/configure.rb
cute_print-0.3.0 lib/cute_print/configure.rb
cute_print-0.2.0 lib/cute_print/configure.rb