tty-table icon indicating copy to clipboard operation
tty-table copied to clipboard

Strange separator inserting

Open foxweb opened this issue 5 years ago • 0 comments

I want to separate rows by differ type. portfolio_table << :separator is not working properly inside each-block.

portfolio_table << :separator << row_data(item) is not working properly also.

Steps to reproduce the problem

def portfolio_table
  @portfolio_table ||= TTY::Table.new(
    header: %w[Type Name Amount Avg.\ price Yield Yield\ %]
  )
end

prev_type = positions.first[:instrumentType]

positions.each do |item|
  portfolio_table << :separator if item[:instrumentType] != prev_type
  portfolio_table << row_data(item)
  prev_type = item[:instrumentType]
end

puts portfolio_table.render(:ascii, padding: [0, 1, 0, 1])

Actual behaviour

+---------
| Type    
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| STOCK   
+---------
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| STOCK   
| BOND    
| ETF     
| ETF     
| ETF     
| ETF     
| ETF     
| ETF     
| CURRENCY
| CURRENCY
+----------

Expected behaviour

Type
------
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
Stock
------
Bond
------
Etf
Etf
Etf
Etf
Etf
Etf
------
Currency
Currency

Environment

  • OS version: macOS Catalina
  • Ruby version: 2.7.1
  • TTY::Table version: tty-table (0.11.0)

foxweb avatar Apr 28 '20 07:04 foxweb