module Lite::Report::Helpers::Encoders

Private Instance Methods

encode(cell) click to toggle source
# File lib/lite/report/helpers/encoders.rb, line 10
def encode(cell)
  return cell unless cell.is_a?(String)

  cell = cell.tr('"', '')
  return cell if @data_options[:encode].empty?

  cell.encode!(
    @data_options[:encode][0],
    @data_options[:encode][1],
    **@data_options[:encode][2]
  )
end
encode!(row) click to toggle source
# File lib/lite/report/helpers/encoders.rb, line 29
def encode!(row)
  case row.class.name
  when 'Hash' then encode_hash!(row)
  else encode_array!(row)
  end
end
encode?(delete: false) click to toggle source
# File lib/lite/report/helpers/encoders.rb, line 23
def encode?(delete: false)
  return @data_options.delete(:encode) if delete

  @data_options[:encode]
end
encode_array!(row) click to toggle source
# File lib/lite/report/helpers/encoders.rb, line 36
def encode_array!(row)
  row.map { |cell| encode(cell) }
end
encode_hash!(row) click to toggle source
# File lib/lite/report/helpers/encoders.rb, line 40
def encode_hash!(row)
  row.map.with_object({}) do |(key, val), hash|
    hash[encode(key)] = encode(val)
  end
end