stripe-rails 2.4.0 → 2.5.0

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: 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: