Class: PeopleImport
- Inherits:
-
Import
- Object
- ActiveRecord::Base
- Import
- PeopleImport
show all
- Defined in:
- app/models/imports/people_import.rb
Constant Summary
Constants inherited
from Import
Import::DATE_INPUT_FORMAT, Import::DATE_INPUT_FORMAT_WITH_TIME
Instance Method Summary
collapse
Methods inherited from Import
#attach_person, build, #cache_data, #fail!, #headers, #import, #parsed_rows, #perform, #rows
#csv_data, included, #s3_service, #time_zone_parser
#approve!, #caching!, #failed!, #failed?, #imported!, #importing!, included, #invalidate!, #pending!
Instance Method Details
#create_person(parsed_row) ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
|
# File 'app/models/imports/people_import.rb', line 30
def create_person(parsed_row)
Rails.logger.debug("PEOPLE_IMPORT: Importing person")
person = attach_person(parsed_row)
Rails.logger.debug("PEOPLE_IMPORT: Attached #{person.inspect}")
if !person.save
Rails.logger.debug("PEOPLE_IMPORT: Save failed")
Rails.logger.debug("PEOPLE_IMPORT: ERROR'D #{person.errors.full_messages.join(", ")}")
error(parsed_row, person)
end
person
end
|
#error(parsed_row, person) ⇒ Object
23
24
25
26
27
28
|
# File 'app/models/imports/people_import.rb', line 23
def error(parsed_row, person)
message = ""
message = parsed_row.email + ": " unless parsed_row.email.blank?
message = message + person.errors.full_messages.join(", ")
raise Import::RowError, message
end
|
#kind ⇒ Object
2
3
4
|
# File 'app/models/imports/people_import.rb', line 2
def kind
"people"
end
|
#process(parsed_row) ⇒ Object
10
11
12
|
# File 'app/models/imports/people_import.rb', line 10
def process(parsed_row)
person = create_person(parsed_row)
end
|
#rollback ⇒ Object
6
7
8
|
# File 'app/models/imports/people_import.rb', line 6
def rollback
self.people.destroy_all
end
|
#row_valid?(parsed_row) ⇒ Boolean
14
15
16
17
18
19
20
21
|
# File 'app/models/imports/people_import.rb', line 14
def row_valid?(parsed_row)
person = attach_person(parsed_row)
raise Import::RowError, "Please include a first name, last name, or email in this row: #{parsed_row.row}" unless attach_person(parsed_row).person_info
return (person.valid? ? true : error(parsed_row, person))
end
|