Sha256: cb94071fe436676fdb6810e2380a000625d55da0610b74f5e74447f79de73ddf

Contents?: true

Size: 507 Bytes

Versions: 10

Compression:

Stored size: 507 Bytes

Contents

require "forwardable"

module CutePrint

  # @api private
  class Values

    extend Forwardable
    include Enumerable

    def initialize(args, block)
      if !args.empty? && block
        raise ArgumentError, "arguments and block are mutually exclusive"
      end
      @args = args
      @block = block
    end

    def_delegator :values, :each
    def_delegator :values, :empty?

    private

    def values
      if @block
        [@block.call]
      else
        @args
      end
    end

  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
cute_print-1.4.0 lib/cute_print/values.rb
cute_print-1.3.0 lib/cute_print/values.rb
cute_print-1.2.0 lib/cute_print/values.rb
cute_print-1.1.4 lib/cute_print/values.rb
cute_print-1.1.3 lib/cute_print/values.rb
cute_print-1.1.2 lib/cute_print/values.rb
cute_print-1.1.1 lib/cute_print/values.rb
cute_print-1.1.0 lib/cute_print/values.rb
cute_print-1.0.1 lib/cute_print/values.rb
cute_print-1.0.0 lib/cute_print/values.rb