Class: SpreeCmCommissioner::Imports::CreateOrderService
- Inherits:
-
BaseImportOrderService
- Object
- BaseImportOrderService
- SpreeCmCommissioner::Imports::CreateOrderService
- Defined in:
- app/services/spree_cm_commissioner/imports/create_order_service.rb
Instance Attribute Summary collapse
-
#import_by_user_id ⇒ Object
readonly
Returns the value of attribute import_by_user_id.
Attributes inherited from BaseImportOrderService
#fail_row_numbers, #import_order_id
Instance Method Summary collapse
- #import_orders ⇒ Object
-
#initialize(import_order_id:, import_by_user_id:) ⇒ CreateOrderService
constructor
A new instance of CreateOrderService.
- #process_order(order_data, index) ⇒ Object
Methods inherited from BaseImportOrderService
#call, #cleaned_value, #fetch_content, #import_order, #record_failure, #save_fail_rows, #update_import_status_when_finish, #update_import_status_when_start
Constructor Details
#initialize(import_order_id:, import_by_user_id:) ⇒ CreateOrderService
Returns a new instance of CreateOrderService.
6 7 8 9 |
# File 'app/services/spree_cm_commissioner/imports/create_order_service.rb', line 6 def initialize(import_order_id:, import_by_user_id:) super(import_order_id: import_order_id) @import_by_user_id = import_by_user_id end |
Instance Attribute Details
#import_by_user_id ⇒ Object (readonly)
Returns the value of attribute import_by_user_id.
4 5 6 |
# File 'app/services/spree_cm_commissioner/imports/create_order_service.rb', line 4 def import_by_user_id @import_by_user_id end |
Instance Method Details
#import_orders ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'app/services/spree_cm_commissioner/imports/create_order_service.rb', line 11 def import_orders content = fetch_content CSV.parse(content, headers: true).each.with_index(2) do |row, index| order_data = row.to_hash.symbolize_keys process_order(order_data, index) end end |
#process_order(order_data, index) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'app/services/spree_cm_commissioner/imports/create_order_service.rb', line 20 def process_order(order_data, index) ActiveRecord::Base.transaction do params = build_order_params(order_data) order = create_order(params, index) record_failure(index) if order && !complete_order(order) end rescue StandardError record_failure(index) end |