Class: Railspress::Export

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

Constant Summary collapse

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

Instance Method Summary collapse

Instance Method Details

#add_error(message) ⇒ Object



46
47
48
49
50
# File 'app/models/railspress/export.rb', line 46

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)


26
27
28
# File 'app/models/railspress/export.rb', line 26

def completed?
  status == "completed"
end

#failed?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'app/models/railspress/export.rb', line 30

def failed?
  status == "failed"
end

#increment_success!Object



52
53
54
# File 'app/models/railspress/export.rb', line 52

def increment_success!
  increment!(:success_count)
end

#increment_total!Object



56
57
58
# File 'app/models/railspress/export.rb', line 56

def increment_total!
  increment!(:total_count)
end

#mark_completed!Object



38
39
40
# File 'app/models/railspress/export.rb', line 38

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

#mark_failed!Object



42
43
44
# File 'app/models/railspress/export.rb', line 42

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

#mark_processing!Object



34
35
36
# File 'app/models/railspress/export.rb', line 34

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

#parsed_errorsObject



60
61
62
63
64
65
# File 'app/models/railspress/export.rb', line 60

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

#pending?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'app/models/railspress/export.rb', line 18

def pending?
  status == "pending"
end

#processing?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'app/models/railspress/export.rb', line 22

def processing?
  status == "processing"
end