lib/red_amber/refinements.rb in red_amber-0.4.0 vs lib/red_amber/refinements.rb in red_amber-0.4.1

- old
+ new

@@ -141,11 +141,11 @@ # Add additional capabilities to Arrow::Table module RefineArrowTable refine Arrow::Table do def keys - columns.map(&:name) + columns.map { |column| column.name.to_sym } end def key?(key) keys.include?(key) end @@ -200,7 +200,20 @@ reject.with_index { |_, i| indices.include?(i) || indices.include?(i - size) } end end end - private_constant :RefineArray, :RefineArrayLike, :RefineArrowTable, :RefineHash + # Add additional capabilities to String + module RefineString + refine String do + def width + chars + .partition(&:ascii_only?) + .map.with_index(1) { |a, i| a.size * i } + .sum + end + end + end + + private_constant :RefineArray, :RefineArrayLike, :RefineArrowTable, + :RefineHash, :RefineString end