purchasekit 0.2.1

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.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +31 -0
  3. data/README.md +165 -0
  4. data/Rakefile +10 -0
  5. data/app/controllers/purchase_kit/application_controller.rb +5 -0
  6. data/app/controllers/purchase_kit/pay/application_controller.rb +2 -0
  7. data/app/controllers/purchase_kit/pay/purchase/completions_controller.rb +32 -0
  8. data/app/controllers/purchase_kit/pay/purchases_controller.rb +34 -0
  9. data/app/controllers/purchase_kit/pay/webhooks_controller.rb +35 -0
  10. data/app/controllers/purchase_kit/purchase/completions_controller.rb +39 -0
  11. data/app/controllers/purchase_kit/purchases_controller.rb +37 -0
  12. data/app/controllers/purchase_kit/webhooks_controller.rb +42 -0
  13. data/app/helpers/purchase_kit/pay/paywall_helper.rb +85 -0
  14. data/app/helpers/purchase_kit/paywall_helper.rb +96 -0
  15. data/app/javascript/controllers/purchasekit/paywall_controller.js +121 -0
  16. data/app/javascript/controllers/purchasekit_pay/paywall_controller.js +112 -0
  17. data/app/javascript/purchasekit/turbo_actions.js +4 -0
  18. data/app/javascript/purchasekit_pay/turbo_actions.js +4 -0
  19. data/app/models/pay/purchasekit/charge.rb +9 -0
  20. data/app/models/pay/purchasekit/customer.rb +22 -0
  21. data/app/models/pay/purchasekit/subscription.rb +33 -0
  22. data/app/views/purchase_kit/pay/purchases/_subscription_required.html.erb +3 -0
  23. data/app/views/purchase_kit/pay/purchases/create.turbo_stream.erb +8 -0
  24. data/app/views/purchase_kit/purchases/_intent.html.erb +7 -0
  25. data/config/importmap.rb +3 -0
  26. data/config/routes.rb +7 -0
  27. data/lib/pay/purchasekit.rb +25 -0
  28. data/lib/purchasekit/api_client.rb +43 -0
  29. data/lib/purchasekit/configuration.rb +51 -0
  30. data/lib/purchasekit/engine.rb +38 -0
  31. data/lib/purchasekit/error.rb +19 -0
  32. data/lib/purchasekit/events.rb +112 -0
  33. data/lib/purchasekit/pay/configuration.rb +42 -0
  34. data/lib/purchasekit/pay/engine.rb +35 -0
  35. data/lib/purchasekit/pay/error.rb +12 -0
  36. data/lib/purchasekit/pay/version.rb +5 -0
  37. data/lib/purchasekit/pay/webhook.rb +36 -0
  38. data/lib/purchasekit/pay/webhooks/base.rb +25 -0
  39. data/lib/purchasekit/pay/webhooks/subscription_canceled.rb +11 -0
  40. data/lib/purchasekit/pay/webhooks/subscription_created.rb +39 -0
  41. data/lib/purchasekit/pay/webhooks/subscription_expired.rb +11 -0
  42. data/lib/purchasekit/pay/webhooks/subscription_updated.rb +31 -0
  43. data/lib/purchasekit/pay/webhooks.rb +11 -0
  44. data/lib/purchasekit/product/demo.rb +23 -0
  45. data/lib/purchasekit/product/remote.rb +26 -0
  46. data/lib/purchasekit/product.rb +52 -0
  47. data/lib/purchasekit/purchase/intent/demo.rb +59 -0
  48. data/lib/purchasekit/purchase/intent/remote.rb +37 -0
  49. data/lib/purchasekit/purchase/intent.rb +55 -0
  50. data/lib/purchasekit/version.rb +3 -0
  51. data/lib/purchasekit/webhook_signature.rb +60 -0
  52. data/lib/purchasekit-pay.rb +15 -0
  53. data/lib/purchasekit.rb +60 -0
  54. metadata +189 -0
metadata ADDED
@@ -0,0 +1,189 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: purchasekit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
5
+ platform: ruby
6
+ authors:
7
+ - Joe Masilotti
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-01-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '7.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '9'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '7.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '9'
33
+ - !ruby/object:Gem::Dependency
34
+ name: httparty
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.22'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.22'
47
+ - !ruby/object:Gem::Dependency
48
+ name: minitest
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '5.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '5.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '13.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '13.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: vcr
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '6.0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '6.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: webmock
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3.0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '3.0'
103
+ description: Receive normalized Apple and Google in-app purchase webhooks in your
104
+ Rails app. Optionally integrates with the Pay gem automatically.
105
+ email:
106
+ - joe@masilotti.com
107
+ executables: []
108
+ extensions: []
109
+ extra_rdoc_files: []
110
+ files:
111
+ - LICENSE
112
+ - README.md
113
+ - Rakefile
114
+ - app/controllers/purchase_kit/application_controller.rb
115
+ - app/controllers/purchase_kit/pay/application_controller.rb
116
+ - app/controllers/purchase_kit/pay/purchase/completions_controller.rb
117
+ - app/controllers/purchase_kit/pay/purchases_controller.rb
118
+ - app/controllers/purchase_kit/pay/webhooks_controller.rb
119
+ - app/controllers/purchase_kit/purchase/completions_controller.rb
120
+ - app/controllers/purchase_kit/purchases_controller.rb
121
+ - app/controllers/purchase_kit/webhooks_controller.rb
122
+ - app/helpers/purchase_kit/pay/paywall_helper.rb
123
+ - app/helpers/purchase_kit/paywall_helper.rb
124
+ - app/javascript/controllers/purchasekit/paywall_controller.js
125
+ - app/javascript/controllers/purchasekit_pay/paywall_controller.js
126
+ - app/javascript/purchasekit/turbo_actions.js
127
+ - app/javascript/purchasekit_pay/turbo_actions.js
128
+ - app/models/pay/purchasekit/charge.rb
129
+ - app/models/pay/purchasekit/customer.rb
130
+ - app/models/pay/purchasekit/subscription.rb
131
+ - app/views/purchase_kit/pay/purchases/_subscription_required.html.erb
132
+ - app/views/purchase_kit/pay/purchases/create.turbo_stream.erb
133
+ - app/views/purchase_kit/purchases/_intent.html.erb
134
+ - config/importmap.rb
135
+ - config/routes.rb
136
+ - lib/pay/purchasekit.rb
137
+ - lib/purchasekit-pay.rb
138
+ - lib/purchasekit.rb
139
+ - lib/purchasekit/api_client.rb
140
+ - lib/purchasekit/configuration.rb
141
+ - lib/purchasekit/engine.rb
142
+ - lib/purchasekit/error.rb
143
+ - lib/purchasekit/events.rb
144
+ - lib/purchasekit/pay/configuration.rb
145
+ - lib/purchasekit/pay/engine.rb
146
+ - lib/purchasekit/pay/error.rb
147
+ - lib/purchasekit/pay/version.rb
148
+ - lib/purchasekit/pay/webhook.rb
149
+ - lib/purchasekit/pay/webhooks.rb
150
+ - lib/purchasekit/pay/webhooks/base.rb
151
+ - lib/purchasekit/pay/webhooks/subscription_canceled.rb
152
+ - lib/purchasekit/pay/webhooks/subscription_created.rb
153
+ - lib/purchasekit/pay/webhooks/subscription_expired.rb
154
+ - lib/purchasekit/pay/webhooks/subscription_updated.rb
155
+ - lib/purchasekit/product.rb
156
+ - lib/purchasekit/product/demo.rb
157
+ - lib/purchasekit/product/remote.rb
158
+ - lib/purchasekit/purchase/intent.rb
159
+ - lib/purchasekit/purchase/intent/demo.rb
160
+ - lib/purchasekit/purchase/intent/remote.rb
161
+ - lib/purchasekit/version.rb
162
+ - lib/purchasekit/webhook_signature.rb
163
+ homepage: https://purchasekit.dev
164
+ licenses:
165
+ - LicenseRef-PurchaseKit
166
+ metadata:
167
+ homepage_uri: https://purchasekit.dev
168
+ source_code_uri: https://github.com/purchasekit/purchasekit
169
+ changelog_uri: https://github.com/purchasekit/purchasekit/blob/main/CHANGELOG.md
170
+ post_install_message:
171
+ rdoc_options: []
172
+ require_paths:
173
+ - lib
174
+ required_ruby_version: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '3.1'
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ requirements: []
185
+ rubygems_version: 3.4.10
186
+ signing_key:
187
+ specification_version: 4
188
+ summary: In-app purchase infrastructure for Rails
189
+ test_files: []