blob: 97b858a138a646aadc26fbfb1bd05af3dec5f451 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# frozen_string_literal: true
module SolidusSubscriptions
class OrderCreator
def initialize(installment, extra_attributes)
@installment = installment
@extra_attributes = (extra_attributes || {}).symbolize_keys
end
def call
::Spree::Order.create(
user: installment.subscription.user,
email: installment.subscription.user.email,
store: installment.subscription.store || ::Spree::Store.default,
subscription_order: true,
subscription: installment.subscription,
currency: installment.subscription.currency,
**extra_attributes
)
end
protected
attr_reader :installment, :extra_attributes
end
end
|