lib/formatador/table.rb in formatador-0.2.5 vs lib/formatador/table.rb in formatador-0.3.0

- old
+ new

@@ -78,21 +78,28 @@ end private def length(value) - value.to_s.gsub(PARSE_REGEX, '').length + if Module.const_defined?(:Unicode) + Unicode.width(value.to_s.gsub(PARSE_REGEX, '')) + else + value.to_s.gsub(PARSE_REGEX, '').chars.reduce(0) { |sum, char| sum += char.bytesize > 1 ? 2 : 1 } + end + + rescue NotImplementedError + value.to_s.gsub(PARSE_REGEX, '').chars.reduce(0) { |sum, char| sum += char.bytesize > 1 ? 2 : 1 } end def calculate_datum(header, hash) if !hash.keys.include?(header) && (splits = header.to_s.split('.')).length > 1 datum = nil splits.each do |split| d = (datum||hash) datum = d[split] || d[split.to_sym] || '' end else - datum = hash[header] || '' + datum = hash.fetch(header, '') end datum end end