instance method hash_rows

Ruby on Rails 5.2.8.1

Since v3.1.12 Private

Available in: v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

hash_rows()

No documentation comment.

Source
# File activerecord/lib/active_record/result.rb, line 123
      def hash_rows
        @hash_rows ||=
          begin
            # We freeze the strings to prevent them getting duped when
            # used as keys in ActiveRecord::Base's @attributes hash
            columns = @columns.map { |c| c.dup.freeze }
            @rows.map { |row|
              # In the past we used Hash[columns.zip(row)]
              #  though elegant, the verbose way is much more efficient
              #  both time and memory wise cause it avoids a big array allocation
              #  this method is called a lot and needs to be micro optimised
              hash = {}

              index = 0
              length = columns.length

              while index < length
                hash[columns[index]] = row[index]
                index += 1
              end

              hash
            }
          end
      end

Defined in activerecord/lib/active_record/result.rb line 123 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::Result

Type at least 2 characters to search.

↑↓ navigate · open · esc close