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