Class: Decidim::Verifications::CsvCensus::Data
- Inherits:
-
Object
- Object
- Decidim::Verifications::CsvCensus::Data
- Defined in:
- decidim-verifications/app/models/decidim/verifications/csv_census/data.rb
Overview
A data processor for get emails data form a csv file
Enable this methods:
-
.error with an array of rows with errors in the csv file
-
.values an array with emails read from the csv file
Returns nothing
Instance Attribute Summary collapse
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
-
#file ⇒ Object
readonly
Returns the value of attribute file.
-
#values ⇒ Object
readonly
Returns the value of attribute values.
Instance Method Summary collapse
- #count ⇒ Object
-
#initialize(file) ⇒ Data
constructor
A new instance of Data.
Constructor Details
#initialize(file) ⇒ Data
Returns a new instance of Data.
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'decidim-verifications/app/models/decidim/verifications/csv_census/data.rb', line 19 def initialize(file) @file = file @values = [] @errors = [] @column_count = nil CSV.foreach(@file, encoding: "BOM|UTF-8") do |row| process_row(row) @column_count ||= row.size end @errors << I18n.t("decidim.verifications.errors.wrong_number_columns", expected: 1, actual: @column_count) if @column_count && @column_count > 1 end |
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
17 18 19 |
# File 'decidim-verifications/app/models/decidim/verifications/csv_census/data.rb', line 17 def errors @errors end |
#file ⇒ Object (readonly)
Returns the value of attribute file.
17 18 19 |
# File 'decidim-verifications/app/models/decidim/verifications/csv_census/data.rb', line 17 def file @file end |
#values ⇒ Object (readonly)
Returns the value of attribute values.
17 18 19 |
# File 'decidim-verifications/app/models/decidim/verifications/csv_census/data.rb', line 17 def values @values end |
Instance Method Details
#count ⇒ Object
33 34 35 |
# File 'decidim-verifications/app/models/decidim/verifications/csv_census/data.rb', line 33 def count @column_count || 0 end |