rhino_project_subscriptions 0.30.0.alpha.7 → 0.30.0.alpha.13

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
  SHA256:
3
- metadata.gz: dc0d1be66c030cf464a71ebebb3185f6921b973b2a41bd8304ece2f45142357f
4
- data.tar.gz: 6b0c2689fae54446646f317523fc0031df46004d97c6d228559dbb876f5a87fd
3
+ metadata.gz: 627fa0b52f65409c7ac5bf9795f7d46e45da5acb8d131e5df55611d89025faa8
4
+ data.tar.gz: 484b4de6d4d454f91bef91f7216edc96dabb08c7f1b6b5ea68adce57b6fef32f
5
5
  SHA512:
6
- metadata.gz: e779ac181ecebea2dabdfad2fe2f6248238605e25b7e8ef95edd22a430c4eee6803d16c52323331a91bb06c6fbf3ef6ea1718aac2ad98d6793e3b018e4374b84
7
- data.tar.gz: a40c699a75d602a9be67391075e6f527a188e6ac1474e3bf5eca3504e0e1dfb2a692b32ef2faf11c513a56b7b3c3f503a865269b2553c873a2855e81ab1e975e
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.7"
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.7
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.7
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.7
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