class ActiveAdminImport::ImportResult
Attributes
failed[R]
total[R]
Public Class Methods
new()
click to toggle source
# File lib/active_admin_import/import_result.rb, line 6 def initialize @failed = [] @total = 0 end
Public Instance Methods
add(result, qty)
click to toggle source
# File lib/active_admin_import/import_result.rb, line 11 def add(result, qty) @failed += result.failed_instances @total += qty end
empty?()
click to toggle source
# File lib/active_admin_import/import_result.rb, line 28 def empty? total == 0 end
failed?()
click to toggle source
# File lib/active_admin_import/import_result.rb, line 24 def failed? failed.any? end
failed_message(options = {})
click to toggle source
# 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 = attribute_names_for(errors).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?()
click to toggle source
# File lib/active_admin_import/import_result.rb, line 20 def imported? imported_qty > 0 end
imported_qty()
click to toggle source
# File lib/active_admin_import/import_result.rb, line 16 def imported_qty total - failed.count end
Private Instance Methods
attribute_names_for(errors)
click to toggle source
# File lib/active_admin_import/import_result.rb, line 45 def attribute_names_for(errors) if Gem::Version.new(Rails.version) >= Gem::Version.new('7.0') errors.attribute_names else errors.keys end end