Heads up: This description was created by AI and might not be 100% accurate.

read_with_read_bom.rb

This Ruby code snippet demonstrates reading a CSV file with the CSV module and converting it to an array of hashes, where each element in the array is a hash representing one row in the CSV file. The headers option is set to true, which means that the first row of the CSV file will be treated as headers and used as keys for the hashes. The encoding option is set to "BOM|UTF-8", which specifies that the encoding of the CSV file should be UTF-8 with a byte order mark (BOM) at the beginning.

Ruby code snippet

require 'csv'
#=> true
CSV.read('input/csv/file.csv', encoding: "BOM|UTF-8", headers: true).map(&:to_h)
#=> 
[{"key" => "key1", "value" => "value1"},
 {"key" => "key2", "value" => "value2"},
 {"key" => "key3", "value" => "value3"}]

Executed with Ruby 3.4.4.