Sha256: 2d9e737a31ad21660215f1c21676da3c0f5d19ef4e6d5ea3907b7d8e0708abac

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

require 'aquarium/extensions/symbol'
require 'aquarium/utils/html_escaper'

module Aquarium
  module Utils
    module ArrayUtils
  
      # Return an array containing the input item or list of items. If the input
      # is an array, it is returned. In all cases, the constructed array is a
      # flattened version of the input and any nil elements are removed by #strip_nils.
      # Note that this behavior effectively converts +nil+ to +[]+.
      def make_array *value_or_enum
        ArrayUtils.make_array value_or_enum
      end

      def self.make_array *value_or_enum
        strip_nils do_make_array(value_or_enum)
      end
      
      # Return a copy of the input array with all nils removed.
      def strip_nils array
        ArrayUtils.strip_nils array
      end
  
      def self.strip_nils array
        array.to_a.compact
      end
  
      private
      def self.do_make_array value_or_enum
        v = value_or_enum.flatten 
        v = v[0].to_a if (v.empty? == false && v[0].kind_of?(Set))
        v
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aquarium-0.3.0 lib/aquarium/utils/array_utils.rb
aquarium-0.3.1 lib/aquarium/utils/array_utils.rb
aquarium-0.4.0 lib/aquarium/utils/array_utils.rb