Closed frodsan closed 5 years ago
I like this pull request!
I like this pull request, too!
Excellent 👍 Could we drop Savon and Httparty while we're at it? I seem to recall we briefly discussed this earlier @frodsan.
@timkurvers 👍 It's on the list #29
@frodsan @timkurvers it doesn't sound very logical to me to remove dependency even though it's used only in one backend. It's still in use. You'll either have to describe it in readme that "if you use sendege, please add savon" or decompose this gem even more to cellular-core
, cellular-twilio
etc with per-backend dependencies extracted in separate gems.
@toothfairy this should work like tilt, if you need haml integration to Rails, you add haml, you don't expect to be installed by tilt. The same approach is being used by the new fog gem, before it used to pull everything even if you didn't use it.
The only backend using savon is sendega, so we can add that to the readme. For the rest, we can use net/http or httpparty.
My main motivation is to get rid of savon by default, it pulls 12 dependencies (including another HTTP client). Most of the dependencies are not being used in our apps and it makes upgrades harder.
Fetching gem metadata from https://rubygems.org/..............
Fetching version metadata from https://rubygems.org/.
Resolving dependencies...
Using builder 3.2.3
Using mini_portile2 2.1.0
Installing socksify 1.7.1
Using bundler 1.13.6
Installing rack 2.0.3 (was 1.6.5)
Installing nori 2.6.0
Installing gyoku 1.3.1
Installing httpi 2.4.2
Installing nokogiri 1.7.2 (was 1.7.1) with native extensions
Installing akami 1.3.1
Installing wasabi 3.5.0
Installing savon 2.11.1
Bundle complete! 1 Gemfile dependency, 12 gems now installed.
No plans to decompose the gem into cellular-{x,y,z}.
Also, it would be nice to add a section in the README, explaining how to use each backend. Then, we can mention if a backend needs a special dependency, like: savon.
@frodsan okey :|
This remove ActiveJob and Rails dependency. For compatibility, we will extract this functionality to a different gem.