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)


11
12
13
# File 'lib/eac_cli/runner_with/output_list/base_formatter.rb', line 11

def build_column(column)
  column.to_s
end

#build_columnsArray<String>

Returns:

  • (Array<String>)


16
17
18
# File 'lib/eac_cli/runner_with/output_list/base_formatter.rb', line 16

def build_columns
  columns.map(&:to_s)
end

#build_row(_row) ⇒ Object

Parameters:

Returns:



22
23
24
# File 'lib/eac_cli/runner_with/output_list/base_formatter.rb', line 22

def build_row(_row)
  raise_abstract_method __method__
end

#build_rowsArray<Hash<String, String>>

Returns:

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


27
28
29
# File 'lib/eac_cli/runner_with/output_list/base_formatter.rb', line 27

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

#build_value(row, column) ⇒ Object

Parameters:

  • row (Object)
  • column (String)

Returns:

Raises:

  • (::ArgumentError)


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

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