Validic / validic

API Wrapper for Validic
https://validic.com
MIT License
0 stars 2 forks source link

Remove faraday as a dependency #43

Open allcentury opened 7 years ago

allcentury commented 7 years ago

Faraday has been our rest client of choice for this gem but it has many other dependencies and it's documentation leaves much to be desired. It also interfaces with numerous adapters that are now unsupported and that should be a big enough red flag for us to look towards alternatives.

Alternatives:

alex-bezek commented 7 years ago

I believe faraday is one of the most widely used Http clients (behind rest client) https://www.ruby-toolbox.com/categories/http_clients

I do however agree, the documentation is nearly as good as Rest Client's

What I find extremely useful and cool about faraday is the extensibility through its middleware the same way Rack is setup. We use it at work for things like oauth, or dynamically changing the domain name to flex on each call. I have used it in personal projects as well to add custom bearer and the ability to parse the very customly formatted clash of clans api https://github.com/alex-bezek/clash_of_clans_service_client/tree/master/lib/clash_of_clans_service_client/faraday_middleware

Obviously I'm pretty biased based off my usage of it, and I haven't really used RestClient much. It looks like it might have similar capabilities via this https://github.com/crohr/rest-client-components but I haven't looked into it too much.

Just my 2 cents.

Thanks, Alex Bezek

allcentury commented 7 years ago

Thanks Alex - this is certainly up for discussion. We want the gem to be easy to consume and extended. We'll take a hard look to see if moving away from Faraday is worth it.