Sha256: f90f728c16d5a1d217a354db1bc39003b613c886b860e7d304a35f0fc74e5ae1

Contents?: true

Size: 685 Bytes

Versions: 2

Compression:

Stored size: 685 Bytes

Contents

# Copyright (c) 2020 Jerome Arbez-Gindre
# frozen_string_literal: true

require('csv')

module DefMastership
  # format header for one document
  class CSVFormatterHeader
    def initialize(doc)
      @doc = doc
    end

    def fixed_header
      %w[Type Reference Value]
    end

    def labels_header
      @doc.labels.empty? ? [] : %w[Labels]
    end

    def eref_header
      @doc.eref.map do |_, ref|
        ref[:prefix] +
          (ref[:url].nil? || ref[:url] == 'none' ? '' : " #{ref[:url]}")
      end
    end

    def iref_header
      @doc.iref ? ['Internal links'] : []
    end

    def attributes_header
      @doc.attributes.map { |_, value| value }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
defmastership-1.0.5 lib/defmastership/csv_formatter_header.rb
defmastership-1.0.4 lib/defmastership/csv_formatter_header.rb