stripe-rails 2.4.0 → 2.5.0

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: 4f877c1646308e099953867cf62109fc8274a9d452d4b1ddbaddacc421c5bc77
4
- data.tar.gz: c6986a7464043e10d13580ad1149120931b794070640c4103368daa474580bf9
3
+ metadata.gz: 385a8a9f7a66c294e97df0fc63d6d83eb225abd27a222099404909b6c02a758a
4
+ data.tar.gz: dcddbee8d217324e186e32eb59b7b4d5037683df57c1a7171aaa63e0ef1bd3db
5
5
  SHA512:
6
- metadata.gz: 132c1fec2a1510815e2694c0150a646cbec3d90f7bf8cb4b231ad209ba28e12e9b40ba2a89f77d75d8499b8a5559c332d4e5f6db9c20f3d4f4ff5b08601f6d7d
7
- data.tar.gz: 43779b3dfbcfdeeb1ed74c14e783faf09b74dc81a8279a800c815cab4717bfc746d0a1da558853201546199545c25f991eaa44348c477418edae4cca63c3c7bf
6
+ metadata.gz: 2e534281c5ee575ed6e76596d2d78a2073f6be23956f1bd3d0abd2ee0137ca7576e9c6b3066ad7932ec42bdb4252c23316a882b988f88aa7c69a9a07b706d8de
7
+ data.tar.gz: b8e0a2094c7bf99e009696b414d71f64333b3bd09630e3cb731a471a528d7a6f16a52f00438a2f18d485c78d40b67ec9b282732de28b42ba5f36c4ceb837187b
@@ -1,4 +1,3 @@
1
1
  <!--
2
- Please give us ~1 week to get back to you.
3
- If you'd like to receive occasional updates, sign up for our newsletter at http://tinyletter.com/stripe-rails
4
- -->
2
+ Please give us ~4 weeks to get back to you.
3
+ -->
@@ -9,7 +9,5 @@
9
9
 
10
10
  That's it!
11
11
 
12
- Please give me ~1 week to get back to you.
13
-
14
- If you'd like to receive occasional updates, sign up for our newsletter at http://tinyletter.com/stripe-rails
15
- -->
12
+ Please give me ~4 week to get back to you.
13
+ -->
@@ -14,7 +14,7 @@ jobs:
14
14
 
15
15
  strategy:
16
16
  matrix:
17
- ruby: [2.5.9, 2.6.10, 2.7.7]
17
+ ruby: [2.7.7]
18
18
  gemfile: [Gemfile, gemfiles/rails60.gemfile, gemfiles/rails52.gemfile, gemfiles/rails51.gemfile]
19
19
  steps:
20
20
  - uses: actions/checkout@v1
data/Changelog.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 2.5.0 (2023-03-21)
2
+
3
+ - Allow `stripe_elements_tag` to accept a block. Thanks @chip !
4
+
1
5
  ## 2.4.0 (2023-02-04)
2
6
 
3
7
  - Add `tax_behavior` attribute to Price. Thanks @szechyjs !
data/Gemfile CHANGED
@@ -16,7 +16,7 @@ group :test do
16
16
  gem 'webmock'
17
17
  # System tests
18
18
  gem 'capybara'
19
- gem 'puma', '< 6' # https://github.com/teamcapybara/capybara/issues/2598
19
+ gem 'puma'
20
20
  gem 'selenium-webdriver'
21
21
  gem 'webdrivers'
22
22
  end
data/README.md CHANGED
@@ -12,8 +12,6 @@ This gem can help your rails application integrate with Stripe in the following
12
12
  * manage product, prices, plans and coupons from within your app.
13
13
  * painlessly receive and validate webhooks from stripe.
14
14
 
15
- [📫 Sign up for the Newsletter](http://tinyletter.com/stripe-rails) to receive occasional updates.
16
-
17
15
  [Professionally supported stripe-rails is coming soon](https://tidelift.com/subscription/pkg/rubygems-stripe-rails?utm_source=rubygems-stripe-rails&utm_medium=referral&utm_campaign=readme)
18
16
 
19
17
  ---
@@ -26,6 +24,7 @@ This gem can help your rails application integrate with Stripe in the following
26
24
  - [Configuring your plans and coupons](#configuring-your-plans-and-coupons)
27
25
 
28
26
  [Stripe Elements](#stripe-elements)
27
+ - [Custom Elements](#custom-elements)
29
28
 
30
29
  [Webhooks](#webhooks)
31
30
 
@@ -322,6 +321,22 @@ Simply include the `stripe_elements_tag` anywhere below the `stripe_javascript_t
322
321
  <%= stripe_elements_tag submit_path: billing_path %>
323
322
  ```
324
323
 
324
+ Additionally, you can pass a block containing custom form elements to stripe_elements_tag:
325
+
326
+ ## Custom Elements
327
+
328
+ > Stripe::Rails allows you to easily include your own custom form elements
329
+ > within the Stripe form by including those form elements in a block passed to
330
+ > `stripe_elements_tag`:
331
+
332
+ ```erb
333
+ <%= stripe_javascript_tag %>
334
+ <%= stripe_elements_tag(submit_path: billing_path) do %>
335
+ <%= label_tag 'email', 'Email' %>
336
+ <%= text_field :user, :email %>
337
+ <% end %>
338
+ ```
339
+
325
340
  ### Configuration options
326
341
 
327
342
  Stripe::Rails comes bundled with default CSS and Javascript for Stripe elements, making it easy to drop in to your app. You can also specify your own assets paths:
@@ -10,14 +10,16 @@ module Stripe
10
10
 
11
11
  def stripe_elements_tag(submit_path:,
12
12
  css_path: asset_path("stripe_elements.css"),
13
- js_path: asset_path("stripe_elements.js"))
13
+ js_path: asset_path("stripe_elements.js"),
14
+ &block)
14
15
 
15
16
  render partial: 'stripe/elements', locals: {
16
17
  submit_path: submit_path,
17
18
  label_text: t('stripe_rails.elements.label_text'),
18
19
  submit_button_text: t('stripe_rails.elements.submit_button_text'),
19
20
  css_path: css_path,
20
- js_path: js_path
21
+ js_path: js_path,
22
+ block: block
21
23
  }
22
24
  end
23
25
  end
@@ -5,6 +5,11 @@
5
5
  </div>
6
6
 
7
7
  <%= form_tag submit_path, id: "stripe-form" do %>
8
+ <% if local_assigns[:block] %>
9
+ <div id="stripe-rails-form-fields">
10
+ <%= capture(&local_assigns[:block]) %>
11
+ </div>
12
+ <% end %>
8
13
  <%= label_tag :card_element, label_text %>
9
14
  <div id="card-element"><!-- A Stripe Element will be inserted here. --></div>
10
15
  <%= submit_tag submit_button_text %>
@@ -1,5 +1,5 @@
1
1
  module Stripe
2
2
  module Rails
3
- VERSION = '2.4.0'.freeze
3
+ VERSION = '2.5.0'.freeze
4
4
  end
5
5
  end
@@ -77,5 +77,15 @@ describe Stripe::JavascriptHelper do
77
77
  end
78
78
  end
79
79
  end
80
+
81
+ describe 'with block' do
82
+ let(:markup) { '<input type="text" />'.html_safe }
83
+
84
+ it 'should display block contents' do
85
+ block = lambda { markup }
86
+ result = view.stripe_elements_tag(submit_path: '/charge', &block)
87
+ assert_match %r%<input type="text" />%, result
88
+ end
89
+ end
80
90
  end
81
91
  end
data/test/spec_helper.rb CHANGED
@@ -6,7 +6,7 @@ end
6
6
  require 'minitest/autorun'
7
7
 
8
8
  require 'webmock/minitest'
9
- WebMock.disable_net_connect! allow_localhost: true, allow: ['codeclimate.com', 'chromedriver.storage.googleapis.com']
9
+ WebMock.disable_net_connect! allow_localhost: true, allow: ['codeclimate.com', 'chromedriver.storage.googleapis.com', 'googlechromelabs.github.io', 'storage.googleapis.com']
10
10
 
11
11
  # Chrome Setup
12
12
  require 'selenium-webdriver'
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Lowell
8
8
  - Nola Stowe
9
9
  - SengMing Tan
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-02-04 00:00:00.000000000 Z
13
+ date: 2024-03-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -173,7 +173,7 @@ homepage: https://github.com/tansengming/stripe-rails
173
173
  licenses:
174
174
  - MIT
175
175
  metadata: {}
176
- post_install_message:
176
+ post_install_message:
177
177
  rdoc_options: []
178
178
  require_paths:
179
179
  - lib
@@ -188,8 +188,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  - !ruby/object:Gem::Version
189
189
  version: '0'
190
190
  requirements: []
191
- rubygems_version: 3.3.24
192
- signing_key:
191
+ rubygems_version: 3.5.5
192
+ signing_key:
193
193
  specification_version: 4
194
194
  summary: A gem to integrate stripe into your rails app
195
195
  test_files: