Sha256: 38c9d5723b9f5a13d2cc4fe9a865b7b1161be78fa9f759f1c6e34e083234db53

Contents?: true

Size: 722 Bytes

Versions: 1

Compression:

Stored size: 722 Bytes

Contents

# encoding: utf-8

module TTY
  module Conversion
    class ArrayConverter

      attr_reader :target

      attr_reader :source

      def initialize(source = String)
        @source = source
        @target = Array
      end

      # @api public
      def convert(value, copy = false)
        case value
        when Array
          copy ? value.dup : value
        when Hash
          Array(value)
        else
          begin
            converted = value.to_ary
          rescue Exception => e
            raise TTY::TypeError,
                  "Cannot convert #{value.class} into an Array (#{e.message})"
          end
          converted
        end
      end
    end # ArrayConverter
  end # Conversion
end # TTY

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tty-0.1.1 lib/tty/conversion/converter/array.rb