Giter Site home page Giter Site logo

Gibbon does not speak Ruby about gibbon HOT 5 CLOSED

paneq avatar paneq commented on July 19, 2024
Gibbon does not speak Ruby

from gibbon.

Comments (5)

amro avatar amro commented on July 19, 2024

Hi Robert. I agree.

Right now, Gibbon doesn't require an update when MailChimp makes additions or changes their API (within a major API version). I like that a lot.

It would be simple to hard code a list of categories (templates, users, lists, etc.) that MailChimp exposes via the API but this if MailChimp adds another category. Admittedly, this doesn't happen often.

The problem you point out happens one level deeper as well when actually calling a given method (and corresponding endpoint). Fixing this would either require making a request to the API and inspecting the response (404 return false, 500 return true, for example) or hard coding a list of endpoints. I'm not a fan of hard coding the endpoints for the reason I mentioned above.

Thoughts?

from gibbon.

amro avatar amro commented on July 19, 2024

Robert, I've gone ahead and implemented the local part of this for the primary API and export APi. I don't want to implement the remote endpoint checking for categories themselves just yet. I'll release this soon.

from gibbon.

paneq avatar paneq commented on July 19, 2024

@amro I didn't have time to answer earlier. Maybe it would make sense to implement respond_to? for namespaces and API calls that we already know that they exists and still let you call other methods which might hit newly added API endpoints and work properly but they won't be return true for respond_to? check?

Frankly, I would harcode the possible API endpoints and add them when new endpoint is added. After all, they are not added every day and if someone needs them, they will send pull request anyway probably. But if you don't wanna go that way for the reasons you mentioned, that is of course your privilege as the author and maintainer of the gem, which I am just happy using :)

from gibbon.

paneq avatar paneq commented on July 19, 2024

Unfortunately, I am not sure what you mean by implemented the local part of this for the primary API and export API.

from gibbon.

amro avatar amro commented on July 19, 2024

Sorry for not being clear. I mean I've hard coded the categories (not end points) for the primary API and the end points for the export API.

Thanks for the feedback. I should release this soon.

from gibbon.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.