Class: ActiveRecordCSVImporter::Header
- Inherits:
-
Object
- Object
- ActiveRecordCSVImporter::Header
- Defined in:
- lib/activerecord_csv_importer/header.rb
Overview
The CSV Header
Instance Method Summary collapse
- #column_name_for_model_attribute(attribute) ⇒ Object
- #columns ⇒ Object
-
#missing_columns ⇒ Object
Returns Array.
-
#missing_required_columns ⇒ Object
Returns Array.
-
#required_columns ⇒ Object
Returns Array.
- #valid? ⇒ Boolean
Instance Method Details
#column_name_for_model_attribute(attribute) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/activerecord_csv_importer/header.rb', line 18 def column_name_for_model_attribute(attribute) column = columns.find { |c| c.definition.attribute == attribute if c.definition } column.name if column end |
#columns ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/activerecord_csv_importer/header.rb', line 9 def columns column_names.map do |column_name| Column.new( name: column_name, definition: find_column_definition(column_name) ) end end |
#missing_columns ⇒ Object
Returns Array
41 42 43 |
# File 'lib/activerecord_csv_importer/header.rb', line 41 def missing_columns (column_definitions - columns.map(&:definition)).map(&:name).map(&:to_s) end |
#missing_required_columns ⇒ Object
Returns Array
35 36 37 38 |
# File 'lib/activerecord_csv_importer/header.rb', line 35 def missing_required_columns (column_definitions.select(&:required?) - columns.map(&:definition)) .map(&:name).map(&:to_s) end |
#required_columns ⇒ Object
Returns Array
30 31 32 |
# File 'lib/activerecord_csv_importer/header.rb', line 30 def required_columns column_definitions.select(&:required?).map(&:name) end |
#valid? ⇒ Boolean
25 26 27 |
# File 'lib/activerecord_csv_importer/header.rb', line 25 def valid? missing_required_columns.empty? end |