Sha256: c68da451af13867c115d59c080ae1bca87d199ca7bbf1feca2e36c34566af1d5

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

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.7.3 lib/aquarium/utils/array_utils.rb
aquarium-0.7.1 lib/aquarium/utils/array_utils.rb
aquarium-0.5.1 lib/aquarium/utils/array_utils.rb