Sha256: ec4d0a1f64b795f58e71754e9e56e83791ab63d19ce4b8bdfad1909446c1568a
Contents?: true
Size: 898 Bytes
Versions: 5
Compression:
Stored size: 898 Bytes
Contents
module HoneyFormat # Header column converter module ConvertHeaderValue # Replace map REPLACE_MAP = [ [/ \(/, '('], [/ \[/, '['], [/ \{/, '{'], [/\) /, ')'], [/\] /, ']'], [/\} /, '}'], [/ /, '_'], [/-/, '_'] ].map { |array| array.freeze }.freeze # Returns converted value and mutates the argument. # @return [Symbol] the cleaned header column. # @param [String] column the string to be cleaned. # @example Convert simple header # ConvertHeaderValue.call(" User name ") #=> "user_name" # @example Convert complex header # ConvertHeaderValue.call(" First name (user)") #=> :'first_name(user)' def self.call(column) column.strip! column.downcase! REPLACE_MAP.each do |data| from, to = data column.gsub!(from, to) end column.to_sym end end end
Version data entries
5 entries across 5 versions & 1 rubygems