Class: Railspress::Import

Inherits:
ApplicationRecord show all
Defined in:
app/models/railspress/import.rb

Constant Summary collapse

STATUSES =
%w[pending processing completed failed].freeze
IMPORT_TYPES =
%w[posts].freeze

Instance Method Summary collapse

Instance Method Details

#add_error(message) ⇒ Object



44
45
46
47
48
# File 'app/models/railspress/import.rb', line 44

def add_error(message)
  errors_array = parsed_errors
  errors_array << message
  update!(error_messages: errors_array.to_json, error_count: errors_array.size)
end

#completed?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/models/railspress/import.rb', line 24

def completed?
  status == "completed"
end

#failed?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'app/models/railspress/import.rb', line 28

def failed?
  status == "failed"
end

#increment_success!Object



50
51
52
# File 'app/models/railspress/import.rb', line 50

def increment_success!
  increment!(:success_count)
end

#increment_total!Object



54
55
56
# File 'app/models/railspress/import.rb', line 54

def increment_total!
  increment!(:total_count)
end

#mark_completed!Object



36
37
38
# File 'app/models/railspress/import.rb', line 36

def mark_completed!
  update!(status: "completed")
end

#mark_failed!Object



40
41
42
# File 'app/models/railspress/import.rb', line 40

def mark_failed!
  update!(status: "failed")
end

#mark_processing!Object



32
33
34
# File 'app/models/railspress/import.rb', line 32

def mark_processing!
  update!(status: "processing")
end

#parsed_errorsObject



58
59
60
61
62
63
# File 'app/models/railspress/import.rb', line 58

def parsed_errors
  return [] if error_messages.blank?
  JSON.parse(error_messages)
rescue JSON::ParserError
  []
end

#pending?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'app/models/railspress/import.rb', line 16

def pending?
  status == "pending"
end

#processing?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/models/railspress/import.rb', line 20

def processing?
  status == "processing"
end