Sha256: 809443c31fab0e3373f5936fd4b3f0c45580b40b23be5bf5731af1d6fa204f99

Contents?: true

Size: 490 Bytes

Versions: 5

Compression:

Stored size: 490 Bytes

Contents

module SimpleEnum
  module ArraySupport
    
    # Magically convert an array to a hash, has some neat features
    # for active record models and similar.
    #
    # TODO: add more documentation; allow block to be passed to customize key/value pairs
    def to_hash_magic
      v = enum_with_index.to_a unless first.is_a?(ActiveRecord::Base) or first.is_a?(Array)
      v = map { |e| [e, e.id] } if first.is_a?(ActiveRecord::Base)
      v ||= self
      Hash[*v.flatten]
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
lwe-simple_enum-0.3.0 lib/simple_enum/array_support.rb
simple_enum-1.0.1 lib/simple_enum/array_support.rb
simple_enum-1.0.0 lib/simple_enum/array_support.rb
simple_enum-0.9.0 lib/simple_enum/array_support.rb
simple_enum-0.3.0 lib/simple_enum/array_support.rb