Class: EacCli::RunnerWith::OutputList::BaseFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/eac_cli/runner_with/output_list/base_formatter.rb

Direct Known Subclasses

CsvFormatter, TtyFormatter, YamlFormatter

Instance Method Summary collapse

Instance Method Details

#build_column(column) ⇒ String

Returns:

  • (String)


13
14
15
# File 'lib/eac_cli/runner_with/output_list/base_formatter.rb', line 13

def build_column(column)
  column.to_s
end

#build_columnsArray<String>

Returns:

  • (Array<String>)


18
19
20
# File 'lib/eac_cli/runner_with/output_list/base_formatter.rb', line 18

def build_columns
  columns.map(&:to_s)
end

#build_row(_row) ⇒ Object

Parameters:

Returns:



24
25
26
# File 'lib/eac_cli/runner_with/output_list/base_formatter.rb', line 24

def build_row(_row)
  raise_abstract_method __method__
end

#build_rowsArray<Hash<String, String>>

Returns:

  • (Array<Hash<String, String>>)


29
30
31
# File 'lib/eac_cli/runner_with/output_list/base_formatter.rb', line 29

def build_rows
  rows.map { |row| build_row(row) }
end

#build_value(row, column) ⇒ Object

Parameters:

  • row (Object)
  • column (String)

Returns:

Raises:

  • (::ArgumentError)


36
37
38
39
40
41
42
# File 'lib/eac_cli/runner_with/output_list/base_formatter.rb', line 36

def build_value(row, column)
  return row.send(column) if row.respond_to?(column)
  return row.with_indifferent_access.fetch(column) if row.is_a?(::Hash)

  raise ::ArgumentError, "Row \"#{row}\" do not respond to column \"#{column}\" neither " \
                         "is a Hash (Row: #{row}, Column: #{column})"
end