Comments (1)
@crimsonknave Thank you for pointing this out! Admittedly, I do not use the activity API much so it is not unsurprising that the implementation is too shallow/incomplete. Your contribution would be of great help.
Occasionally, I have surfaced OpenStructs, especially when returning values since that feels a bit more user-friendly and avoided typing the parameters when I can on input in large part because Todoist does have a tendency to make some rather breaking changes in its sync API.
Admittedly, it seems inelegant if we can't detect the type of object, and rely on magic strings. We could mitigate this by having constants defined, but the sheer number of magic constants is rather mind boggling so getting the codebase consistent would be a non-trivial exercise (plus the maintenance of it). What I ultimately chose to do instead is to throw caution and good coding practices to the wind and allow some flexibility in input parameters which has helped the library age rather gracefully. When new magic parameters come in, it does not force a large library rewrite but it more or less forces API users to not only understand how the library works, but unfortunately, also read the original document on Todoist.
Not sure if this answers any of your questions, but I'd love to see your PR and maybe we can go from there!
from todoist-ruby.
Related Issues (9)
- Support the new Rest API v8 HOT 2
- Migrate code from net/http to Faraday HOT 1
- v8 -> v9 transition HOT 4
- sync_items.complete() not working HOT 2
- Uninitialized constant (OpenSSL) HOT 2
- v7 removed in favor of v8 HOT 4
- Upgrade to v8 sync api HOT 3
- Upgrade Gemspec to spec.add_dependency "rake", ">= 12.3.3"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from todoist-ruby.