Comments (7)
Sorry about that the README docs were outdated as of the 3.x
version.
Responses in 3.x
return a hash instead of a Hashie::Mash
object used previously.
from closeio.
Why move from Hashie::Mash to hash? This significantly breaks our integration if we upgrade to 3.x and is preventing us from upgrading until we have a chance to revert to the uglier hash syntax. In fact, its not just dot notation that's an issue. We use symbols as hash keys which worked with Hashie::Mash. Now, Close returns a hash with string keys.
If it's just to remove the dependency on Hashie::Mash, it would be nice to let us opt in as we already have this dependency on our application.
from closeio.
I changed my version to 2.6.10 and it worked as per documentation i.e lead.contacts
from closeio.
@synth Yep, it was to remove the dependency. We're following SemVer so it shouldn't be a surprise there are breaking changes.
from closeio.
Too bad. This is a regression in usability imo. Also, SemVer doesn't mean that just because you can have breaking changes across major versions, that we should expect them all the time. I didn't see any documentation on this anywhere - so yea, it was a surprise that took digging through this libraries source to figure out.
from closeio.
Yeah, I could've probably done a release that deprecated Hashie
, but still left an option to use it as response middleware. Then fully removed it in the next release -- that would've been a good usability experience.
You're also right there is not any documentation in CHANGELOG.md
, I apologize for that and will ensure future releases are documented properly.
I'm trying to think back to my original intent as to why I removed it -- it was two years ago, so hard to remember... I think it was a knee-jerk reaction to these:
- https://www.schneems.com/2014/12/15/hashie-considered-harmful.html
- https://code.dblock.org/2017/02/24/the-demonic-possession-of-hashie-mash.html
Plus my experience in memory bloat in the applications I was maintaining at the time. I know it's not helpful for the situation you're in, but hopefully it provides some context.
from closeio.
Gotcha, thanks for the explanation.
from closeio.
Related Issues (20)
- updating custom fields for a lead HOT 2
- list_opportunities endpoint adds query param to filter queries HOT 1
- Seems like responses with code 400 aren't actually throwing errors when creating an opportunity HOT 2
- "You are setting a key that conflicts with a built-in method Hashie::Mash#object_id defined in Kernel. This can cause unexpected behavior when accessing the key via as a property. You can still access the key via the #[] method." HOT 3
- Add multiple values for the same field
- Paginate option returns result with symbolized keys HOT 2
- Wrong url for sent emails report HOT 1
- get request return plain html HOT 3
- list_leads email query returning 0 results HOT 12
- List leads does not work properly HOT 1
- Update `email_account` resource to `connected_account` HOT 2
- Updating a contact's custom fields?
- Faraday warnings with gem closeio (~> 3.6) HOT 1
- Unable to List Contacts by attributes
- Advanced Filters API HOT 2
- Support Faraday 2.x HOT 3
- Faraday 2 upgrade is incompatible with Faraday 1.x HOT 7
- verifying webhook
- How to Pass Sorting Options?
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 closeio.