Class: ActiveAdminImport::ImportResult

Inherits:
Object
  • Object
show all
Defined in:
lib/active_admin_import/import_result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeImportResult

Returns a new instance of ImportResult.



6
7
8
9
# File 'lib/active_admin_import/import_result.rb', line 6

def initialize
  @failed = []
  @total = 0
end

Instance Attribute Details

#failedObject (readonly)

Returns the value of attribute failed.



4
5
6
# File 'lib/active_admin_import/import_result.rb', line 4

def failed
  @failed
end

#totalObject (readonly)

Returns the value of attribute total.



4
5
6
# File 'lib/active_admin_import/import_result.rb', line 4

def total
  @total
end

Instance Method Details

#add(result, qty) ⇒ Object



11
12
13
14
# File 'lib/active_admin_import/import_result.rb', line 11

def add(result, qty)
  @failed += result.failed_instances
  @total  += qty
end

#empty?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/active_admin_import/import_result.rb', line 28

def empty?
  total == 0
end

#failed?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/active_admin_import/import_result.rb', line 24

def failed?
  failed.any?
end

#failed_message(options = {}) ⇒ Object



32
33
34
35
36
37
38
39
40
41
# File 'lib/active_admin_import/import_result.rb', line 32

def failed_message(options = {})
  limit = options[:limit] || failed.count
  failed.first(limit).map do |record|
    errors = record.errors
    failed_values = errors.keys.map do |key|
      key == :base ? nil : record.public_send(key)
    end
    errors.full_messages.zip(failed_values).map { |ms| ms.compact.join(' - ') }.join(', ')
  end.join(' ; ')
end

#imported?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/active_admin_import/import_result.rb', line 20

def imported?
  imported_qty > 0
end

#imported_qtyObject



16
17
18
# File 'lib/active_admin_import/import_result.rb', line 16

def imported_qty
  total - failed.count
end