Class: MockChargebee::Models::Subscription
- Inherits:
-
Base
- Object
- Base
- MockChargebee::Models::Subscription
show all
- Defined in:
- lib/mock_chargebee/models/subscription.rb
Constant Summary
collapse
- RESOURCE_ID_PREFIX =
"sub"
Class Method Summary
collapse
Methods inherited from Base
already_exists!, load_fixtures, repositories, unique_id
Class Method Details
.cancel(id, params) ⇒ Object
51
52
53
54
55
56
57
|
# File 'lib/mock_chargebee/models/subscription.rb', line 51
def self.cancel(id, params)
subscription = find(id)
subscription.merge!(params.merge({ "status" => "cancelled", "canceled_at" => Time.now.to_i }))
repositories.subscriptions.store(subscription["id"], subscription)
subscription
end
|
.create(params) ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/mock_chargebee/models/subscription.rb', line 14
def self.create(params)
Validations::Subscriptions::CreateParams.validate_required(params)
params["id"] ||= unique_id
customer_params = params.delete("customer")
customer = Customer.create(customer_params)
coupon_ids = params.delete("coupon_ids")
params["coupons"] = Services::CouponsForSubscription.new(coupon_ids).call
params["customer_id"] = customer["id"]
subscription = subscription_fixture.merge(params)
repositories.subscriptions.store(params["id"], subscription)
[subscription, customer]
end
|
.create_for_customer(customer, params) ⇒ Object
33
34
35
36
37
38
39
40
41
|
# File 'lib/mock_chargebee/models/subscription.rb', line 33
def self.create_for_customer(customer, params)
params["id"] ||= unique_id
subscription = subscription_fixture.merge(params)
subscription["customer_id"] = customer["id"]
repositories.subscriptions.store(subscription["id"], subscription)
subscription
end
|
.find(id) ⇒ Object
10
11
12
|
# File 'lib/mock_chargebee/models/subscription.rb', line 10
def self.find(id)
repositories.subscriptions.fetch(id)
end
|
.reactivate(id, params) ⇒ Object
59
60
61
62
63
64
65
|
# File 'lib/mock_chargebee/models/subscription.rb', line 59
def self.reactivate(id, params)
subscription = find(id)
subscription.merge!(params.merge({ "status" => "active", "started_at" => Time.now.to_i }))
repositories.subscriptions.store(subscription["id"], subscription)
subscription
end
|
.update(id, params) ⇒ Object
43
44
45
46
47
48
49
|
# File 'lib/mock_chargebee/models/subscription.rb', line 43
def self.update(id, params)
subscription = find(id)
subscription.merge!(params)
repositories.subscriptions.store(subscription["id"], subscription)
subscription
end
|