hyperoslo / cellular

Sending and receiving SMSs with Ruby through pluggable backends.
Other
20 stars 6 forks source link

Remove ActiveJob dependency. #30

Closed frodsan closed 5 years ago

frodsan commented 7 years ago

This remove ActiveJob and Rails dependency. For compatibility, we will extract this functionality to a different gem.

toothfairy commented 7 years ago

I like this pull request!

jgorset commented 7 years ago

I like this pull request, too!

timkurvers commented 7 years ago

Excellent 👍 Could we drop Savon and Httparty while we're at it? I seem to recall we briefly discussed this earlier @frodsan.

frodsan commented 7 years ago

@timkurvers 👍 It's on the list #29

toothfairy commented 7 years ago

@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.

frodsan commented 7 years ago

@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}.

frodsan commented 7 years ago

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.

toothfairy commented 7 years ago

@frodsan okey :|