Sha256: 9e49a2e22fc61c2962bbdef46eb98a4ba1c892a1aa13105268df1eef80b214cc

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 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_array_nils.
      # Note that this behavior effectively converts <tt>nil</tt> to <tt>[]</tt>.
      def make_array *value_or_enum
        ArrayUtils.make_array value_or_enum
      end

      def self.make_array *value_or_enum
        strip_array_nils do_make_array(value_or_enum)
      end
      
      # Return a copy of the input array with all nils removed.
      def strip_array_nils array
        ArrayUtils.strip_array_nils array
      end
  
      # Return a copy of the input array with all nils removed.
      def self.strip_array_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.4.4 lib/aquarium/utils/array_utils.rb
aquarium-0.4.2 lib/aquarium/utils/array_utils.rb
aquarium-0.4.3 lib/aquarium/utils/array_utils.rb