Sha256: d8c9eceadf4a9b521474067437bf50c78423cd3cecca9c4e7c6082d1037e583e

Contents?: true

Size: 631 Bytes

Versions: 9

Compression:

Stored size: 631 Bytes

Contents

require "csv"

format :csv do
  def show view, args
    view ||= :titled
    super view, args
  end

  def nests
    [["_self", { view: :name }], ["_self", { view: :type }]]
  end

  def default_nest_view
    :titled
  end

  def default_item_view
    :name
  end

  view :titled do
    voo.items[:view] ||= :row
    (render_header + render_core).map { |row| CSV.generate_line row }.join
  end

  view :core do
    item_cards.map { |item_card| nest item_card }
  end

  view :row do
    nests.map { |nest_args| nest(*nest_args) }
  end

  # localize
  view :header do
    [%w[Name Type]]
  end

  view :unknown do
    ""
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
card-mod-format-0.16.0 set/all/csv.rb
card-mod-format-0.15.6 set/all/csv.rb
card-mod-format-0.15.5 set/all/csv.rb
card-mod-format-0.15.4 set/all/csv.rb
card-mod-format-0.15.3 set/all/csv.rb
card-mod-format-0.15.2.pre1 set/all/csv.rb
card-mod-format-0.15.1.1 set/all/csv.rb
card-mod-format-0.15.1 set/all/csv.rb
card-mod-format-0.15.0 set/all/csv.rb