Sha256: 3db3ccf3bd76a014f3bf1f1c072d73bcdfece39e31b9b19829190c93ffd78ae3
Contents?: true
Size: 852 Bytes
Versions: 3
Compression:
Stored size: 852 Bytes
Contents
module HoneyFormat module ConvertHeaderValue 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
honey_format-0.5.0 | lib/honey_format/convert_header_value.rb |
honey_format-0.4.0 | lib/honey_format/convert_header_value.rb |
honey_format-0.3.0 | lib/honey_format/convert_header_value.rb |