rhino_project_subscriptions 0.30.0.alpha.6 → 0.30.0.alpha.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b9b992e82799a53681778b8ed2ee19897e51c1e20581f83c65911bb9957e5a3
4
- data.tar.gz: 52ac00d8f484b1db153fe7373901214b053feb53e9ec04e41ba130b57cd150e4
3
+ metadata.gz: 627fa0b52f65409c7ac5bf9795f7d46e45da5acb8d131e5df55611d89025faa8
4
+ data.tar.gz: 484b4de6d4d454f91bef91f7216edc96dabb08c7f1b6b5ea68adce57b6fef32f
5
5
  SHA512:
6
- metadata.gz: 7b0a6c19709504d9dd213f0f9115a2b215d2e2b3eb6023b2d0b324e875e5e574565d72675566fdc325b3cbf16d9dafe4eb7ce5d5c3670967aaee74f3ca95f5ed
7
- data.tar.gz: 132b713499d5e6bfcd0a75af11efa9d53225fd8deb0d81f0ea9fa7f4cc31ce5f75fd7a971febacab337a277906a122e5cb94cdf3af1e2391b9226acecd52e4ba
6
+ metadata.gz: 047143bfa5b8b84fcec3d76f11739efeae1474a15fe0b1483770c7ea82cb591c32f9982cab4c59f1755d65ab0c6ee96ff20e01201071c9ee2cab1e87a8eddb61
7
+ data.tar.gz: 71f27f4f69e698c90972b4f64bbe25b6de5c5c9f92e817660e70162c283260c849b8b5d2de77737a64969f19ac25edd8b10525c6b7f1467c8448b2425976c1b5
@@ -9,8 +9,17 @@ module Rhino
9
9
  include Rhino::Authenticated
10
10
 
11
11
  def prices
12
- list = ::Stripe::Price.list({ active: true, limit: 5, expand: ["data.product"] })
13
- render json: { prices: list["data"] }
12
+ # Unfortunately we can't use the search API here because you can't do AND and OR together
13
+ # And parentheses don't work either https://docs.stripe.com/search#query-structure-and-terminology
14
+ list = if RhinoSubscriptions.products == :all
15
+ ::Stripe::Price.list({ active: true, limit: 5, expand: ["data.product"] })["data"]
16
+ else
17
+ RhinoSubscriptions.products.flat_map do |product|
18
+ ::Stripe::Price.list({ product:, active: true, limit: 5, expand: ["data.product"] })["data"]
19
+ end
20
+ end
21
+
22
+ render json: { prices: list }
14
23
  end
15
24
 
16
25
  def create_checkout_session
@@ -80,7 +89,8 @@ module Rhino
80
89
  quantity: 1,
81
90
  price: args["price"]
82
91
  }],
83
- customer: customer_id
92
+ customer: customer_id,
93
+ payment_method_collection: RhinoSubscriptions.payment_method_collection
84
94
  )
85
95
  end
86
96
 
@@ -6,6 +6,7 @@ module RhinoSubscriptions
6
6
  source_root File.expand_path('templates', __dir__)
7
7
 
8
8
  def install
9
+ template "rhino_subscriptions.rb", "config//initializers/rhino_subscriptions.rb"
9
10
  end
10
11
  end
11
12
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ RhinoSubscriptions.setup do |config|
4
+ # Products to show pricing for
5
+ # config.products = ["prod_3893aadf", "prod_33aa44adf"]
6
+
7
+ # https://docs.stripe.com/api/checkout/sessions/object#checkout_session_object-payment_method_collection
8
+ # config.payment_method_collection = :if_required
9
+ end
@@ -4,5 +4,21 @@ require "rhino_subscriptions/engine"
4
4
  # require 'active_support'
5
5
 
6
6
  module RhinoSubscriptions
7
- # Your code goes here...
7
+ # The list of products to show on the subscription page
8
+ mattr_accessor :products, default: :all
9
+
10
+ mattr_accessor :payment_method_collection, default: :always
11
+
12
+ def self.products=(products)
13
+ @@products = Array.wrap(products)
14
+ end
15
+
16
+ def self.payment_method_collection=(payment_method_collection)
17
+ @@payment_method_collection = payment_method_collection
18
+ end
19
+
20
+ # Default way to set up Rhino Subscriptions
21
+ def self.setup
22
+ yield self
23
+ end
8
24
  end
@@ -10,7 +10,7 @@ module RhinoSubscriptions
10
10
  MAJOR = 0
11
11
  MINOR = 30
12
12
  TINY = 0
13
- PRE = "alpha.6"
13
+ PRE = "alpha.13"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rhino_project_subscriptions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.0.alpha.6
4
+ version: 0.30.0.alpha.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - JP Rosevear
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-27 00:00:00.000000000 Z
11
+ date: 2025-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -36,28 +36,28 @@ dependencies:
36
36
  requirements:
37
37
  - - '='
38
38
  - !ruby/object:Gem::Version
39
- version: 0.30.0.alpha.6
39
+ version: 0.30.0.alpha.13
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: 0.30.0.alpha.6
46
+ version: 0.30.0.alpha.13
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: stripe
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - '='
52
52
  - !ruby/object:Gem::Version
53
- version: 5.28.0
53
+ version: 13.3.1
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - '='
59
59
  - !ruby/object:Gem::Version
60
- version: 5.28.0
60
+ version: 13.3.1
61
61
  description: ''
62
62
  email:
63
63
  - jp@codalio.com
@@ -77,6 +77,7 @@ files:
77
77
  - db/migrate/20210302208003_rhino_create_stripe_customers.rb
78
78
  - db/migrate/20210302299092_rhino_alter_stripe_customers.rb
79
79
  - lib/generators/rhino_subscriptions/install/install_generator.rb
80
+ - lib/generators/rhino_subscriptions/install/templates/rhino_subscriptions.rb.tt
80
81
  - lib/rhino_project_subscriptions.rb
81
82
  - lib/rhino_subscriptions/engine.rb
82
83
  - lib/rhino_subscriptions/version.rb