processout 1.0.10 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 91568f94fbbbde39daed4271894d95fbff2c70eb
4
- data.tar.gz: c12c9dc2ea971eb3efba6ac05d0910e251c9282b
3
+ metadata.gz: e0a9ad7b4c761856cc0b61cdf83574b257b3fced
4
+ data.tar.gz: e8b2ac9780fc385076ac1aa7ed37230a761ec478
5
5
  SHA512:
6
- metadata.gz: 271f12c007a02332cfdcd3698b95fabc6ab9462d8fcdfcee02bc24d4aeaf4d8e97e0e0f795b1150ee2f030ff72cc021d0b195d02300cb4f8236e047a412730ef
7
- data.tar.gz: 45d072130a20cda395f44e3e5292f9a5c4c2236d4da5f8836f05afbeae0f5b55da376e57adf864c8ee92488cfd52394693bcd768fb969c2682503567423321da
6
+ metadata.gz: f88f795322e08c68800c720da6b50a9b8ffd9d7238cba2da74b18a158c0273641abc0d59150b41f907ccf4bafbcb3f6d55f0184095091e3ad63d5e12411a3972
7
+ data.tar.gz: 6380bf6fda3a98467a81441176dd16ab9abd220186ab8ebd697962c626736b2a141f4de69e78ca011d635b3a2e7253ef000ee450e2a256b110aa7b9ce8f7e0b0
@@ -9,6 +9,7 @@ module ProcessOut
9
9
 
10
10
  attr_reader :id
11
11
  attr_reader :project
12
+ attr_reader :plan_id
12
13
  attr_reader :plan
13
14
  attr_reader :customer
14
15
  attr_reader :token
@@ -48,6 +49,10 @@ module ProcessOut
48
49
 
49
50
  end
50
51
 
52
+ def plan_id=(val)
53
+ @plan_id = val
54
+ end
55
+
51
56
  def plan=(val)
52
57
  if val.instance_of? Plan
53
58
  @plan = val
@@ -167,6 +172,7 @@ module ProcessOut
167
172
 
168
173
  self.id = data.fetch(:id, nil)
169
174
  self.project = data.fetch(:project, nil)
175
+ self.plan_id = data.fetch(:plan_id, nil)
170
176
  self.plan = data.fetch(:plan, nil)
171
177
  self.customer = data.fetch(:customer, nil)
172
178
  self.token = data.fetch(:token, nil)
@@ -210,6 +216,9 @@ module ProcessOut
210
216
  if data.include? "project"
211
217
  self.project = data["project"]
212
218
  end
219
+ if data.include? "plan_id"
220
+ self.plan_id = data["plan_id"]
221
+ end
213
222
  if data.include? "plan"
214
223
  self.plan = data["plan"]
215
224
  end
@@ -289,6 +298,7 @@ module ProcessOut
289
298
  end
290
299
  self.id = data.fetch(:id, self.id)
291
300
  self.project = data.fetch(:project, self.project)
301
+ self.plan_id = data.fetch(:plan_id, self.plan_id)
292
302
  self.plan = data.fetch(:plan, self.plan)
293
303
  self.customer = data.fetch(:customer, self.customer)
294
304
  self.token = data.fetch(:token, self.token)
@@ -516,6 +526,7 @@ module ProcessOut
516
526
  request = Request.new(@client)
517
527
  path = "/subscriptions"
518
528
  data = {
529
+ "plan_id" => @plan_id,
519
530
  "cancel_at" => @cancel_at,
520
531
  "name" => @name,
521
532
  "amount" => @amount,
@@ -525,7 +536,6 @@ module ProcessOut
525
536
  "trial_end_at" => @trial_end_at,
526
537
  "return_url" => @return_url,
527
538
  "cancel_url" => @cancel_url,
528
- "plan_id" => options.fetch(:plan_id, nil),
529
539
  "source" => options.fetch(:source, nil),
530
540
  "prorate" => options.fetch(:prorate, nil),
531
541
  "customer_id" => customer_id
@@ -609,62 +619,6 @@ module ProcessOut
609
619
 
610
620
 
611
621
 
612
- return_values[0]
613
- end
614
-
615
- # Update the subscription's plan.
616
- # Params:
617
- # +plan_id+:: ID of the new plan to be applied on the subscription
618
- # +prorate+:: Define if proration should be done when updating the plan
619
- # +options+:: +Hash+ of options
620
- def update_plan(plan_id, prorate, options = {})
621
- self.prefill(options)
622
-
623
- request = Request.new(@client)
624
- path = "/subscriptions/" + CGI.escape(@id) + ""
625
- data = {
626
- "plan_id" => plan_id,
627
- "prorate" => prorate
628
- }
629
-
630
- response = Response.new(request.put(path, data, options))
631
- return_values = Array.new
632
-
633
- body = response.body
634
- body = body["subscription"]
635
-
636
-
637
- return_values.push(self.fill_with_data(body))
638
-
639
-
640
-
641
- return_values[0]
642
- end
643
-
644
- # Apply a source to the subscription to activate or update the subscription's source.
645
- # Params:
646
- # +source+:: Source to be applied on the subscription and used to pay future invoices. Can be a card, a token or a gateway request
647
- # +options+:: +Hash+ of options
648
- def apply_source(source, options = {})
649
- self.prefill(options)
650
-
651
- request = Request.new(@client)
652
- path = "/subscriptions/" + CGI.escape(@id) + ""
653
- data = {
654
- "source" => source
655
- }
656
-
657
- response = Response.new(request.put(path, data, options))
658
- return_values = Array.new
659
-
660
- body = response.body
661
- body = body["subscription"]
662
-
663
-
664
- return_values.push(self.fill_with_data(body))
665
-
666
-
667
-
668
622
  return_values[0]
669
623
  end
670
624
 
@@ -677,13 +631,13 @@ module ProcessOut
677
631
  request = Request.new(@client)
678
632
  path = "/subscriptions/" + CGI.escape(@id) + ""
679
633
  data = {
634
+ "plan_id" => @plan_id,
680
635
  "name" => @name,
681
636
  "amount" => @amount,
682
637
  "interval" => @interval,
683
638
  "trial_end_at" => @trial_end_at,
684
639
  "metadata" => @metadata,
685
640
  "coupon_id" => options.fetch(:coupon_id, nil),
686
- "plan_id" => options.fetch(:plan_id, nil),
687
641
  "source" => options.fetch(:source, nil),
688
642
  "prorate" => options.fetch(:prorate, nil),
689
643
  "proration_date" => options.fetch(:proration_date, nil)
@@ -1,3 +1,3 @@
1
1
  module ProcessOut
2
- VERSION = "1.0.10"
2
+ VERSION = "1.0.11"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: processout
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
4
+ version: 1.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel HUEZ