• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stripe / stripe-ruby / 3403
97%

Build:
DEFAULT BRANCH: master
Ran 20 Aug 2019 06:36PM CUT
Jobs 5
Files 97
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
3403

push

travis-ci

ob-stripe
stripe-ruby V5 (#815)

* Convert library to use built-in `Net::HTTP`

Moves the library off of Faraday and over onto the standard library's
built-in `Net::HTTP` module. The upside of the transition is that we
break away from a few dependencies that have caused us a fair bit of
trouble in the past, the downside is that we need more of our own code
to do things (although surprisingly, not that much more).

The biggest new pieces are:

* `ConnectionManager`: A per-thread class that manages a connection to
  each Stripe infrastructure URL (like `api.stripe.com`,
  `connect.stripe.com`, etc.) so that we can reuse them between
  requests. It's also responsible for setting up and configuring new
  `Net::HTTP` connections, which is a little more heavyweight
  code-wise compared to other libraries. All of this could have lived in
  `StripeClient`, but I extracted it because that class has gotten so
  big.

* `MultipartEncoder`: A class that does multipart form encoding for file
  uploads. Unfortunately, Ruby doesn't bundle anything like this. I
  built this by referencing the Go implementation because the original
  RFC is not very detailed or well-written. I also made sure that it was
  behaving similarly to our other custom implementations like
  stripe-node, and that it can really upload a file outside the test
  suite.

There's some risk here in that it's easy to miss something across one of
these big transitions. I've tried to test out various error cases
through tests, but also by leaving scripts running as I terminate my
network connection and bring it back. That said, we'd certainly release
on a major version bump because some of the interface (like setting
`Stripe.default_client`) changes.

* Drop support for old versions of Ruby

Drops support for Ruby 2.1 (EOL March 31, 2017) and 2.2 (EOL March 31,
2018). They're removed from `.travis.yml` and the gemspec and RuboCop
configuration have also been updated to the n... (continued)

1854 of 1930 relevant lines covered (96.06%)

2437.74 hits per line

Jobs
ID Job ID Ran Files Coverage
1 3403.1 (2.3) 20 Aug 2019 06:36PM CUT 0
96.17
Travis Job 3403.1
2 3403.2 (2.4) 20 Aug 2019 06:36PM CUT 0
96.17
Travis Job 3403.2
3 3403.3 (2.5) 20 Aug 2019 06:36PM CUT 0
96.17
Travis Job 3403.3
4 3403.4 (2.6) 20 Aug 2019 06:36PM CUT 0
96.14
Travis Job 3403.4
5 3403.5 (jruby-9.2.7.0) 20 Aug 2019 06:39PM CUT 0
0.0
Travis Job 3403.5
Source Files on build 3403
  • List 0
  • Changed 89
  • Source Changed 86
  • Coverage Changed 27
Loading...
Coverage∆FileLinesRelevantCoveredMissedHits/Line
No data available in table
Showing 0 to 0 of 0 entries
  • Previous
  • Next
  • Back to Repo
  • Travis Build #3403
  • 44766516 on github
  • Prev Build on master (#3341)
  • Next Build on master (#3408)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc