Class: SpreeCmCommissioner::Imports::BaseImportOrderService
- Inherits:
-
Object
- Object
- SpreeCmCommissioner::Imports::BaseImportOrderService
show all
- Defined in:
- app/services/spree_cm_commissioner/imports/base_import_order_service.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of BaseImportOrderService.
6
7
8
9
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 6
def initialize(import_order_id:)
@import_order_id = import_order_id
@fail_row_numbers = []
end
|
Instance Attribute Details
#fail_row_numbers ⇒ Object
Returns the value of attribute fail_row_numbers.
4
5
6
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 4
def fail_row_numbers
@fail_row_numbers
end
|
#import_order_id ⇒ Object
Returns the value of attribute import_order_id.
4
5
6
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 4
def import_order_id
@import_order_id
end
|
Instance Method Details
#call ⇒ Object
11
12
13
14
15
16
17
18
19
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 11
def call
update_import_status_when_start(:progress)
import_orders
save_fail_rows
update_import_status_when_finish(:done)
rescue StandardError => e
update_import_status_when_finish(:failed)
raise e
end
|
#cleaned_value(value) ⇒ Object
50
51
52
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 50
def cleaned_value(value)
value.to_s.gsub(/\s+/, '')
end
|
#fetch_content ⇒ Object
41
42
43
44
45
46
47
48
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 41
def fetch_content
url = import_order.imported_file.url
response = Faraday.get(url)
raise "Failed to fetch content: #{response.status}" unless response.success?
response.body
end
|
#import_order ⇒ Object
29
30
31
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 29
def import_order
@import_order ||= SpreeCmCommissioner::Imports::ImportOrder.find(import_order_id)
end
|
#record_failure(row_number) ⇒ Object
25
26
27
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 25
def record_failure(row_number)
@fail_row_numbers << row_number
end
|
#save_fail_rows ⇒ Object
21
22
23
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 21
def save_fail_rows
import_order.update!(preferred_fail_rows: @fail_row_numbers.join(', ')) unless @fail_row_numbers.empty?
end
|
#update_import_status_when_finish(status) ⇒ Object
37
38
39
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 37
def update_import_status_when_finish(status)
import_order.update(status: status, finished_at: Time.zone.now)
end
|
#update_import_status_when_start(status) ⇒ Object
33
34
35
|
# File 'app/services/spree_cm_commissioner/imports/base_import_order_service.rb', line 33
def update_import_status_when_start(status)
import_order.update(status: status, started_at: Time.zone.now)
end
|