Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What to do about undocumented magical semantics? #45

Closed
gtd opened this issue Dec 12, 2012 · 6 comments
Closed

What to do about undocumented magical semantics? #45

gtd opened this issue Dec 12, 2012 · 6 comments
Labels

Comments

@gtd
Copy link

gtd commented Dec 12, 2012

This is a bit of a meta-issue. First, consider this commit:

2c90ddb4

Note in particular the change to Formats.decode where it now always strips off the outer layer from any single-item hash that's passed in. There is no explanation or justification for this, it appears to simply be done as an easy way to make the JSON version of the original XML tests pass. This type of functionality has existed elsewhere, but usually with some kind of sanity check on the name, but now we face a situation where returning {:success => true} from a POST or PUT blows up without recourse.

This was done over a year ago and as far as I can find, no one has complained about it yet, which I assume is because no one is running this code yet because the published activeresource gem is still coming from rails/activeresource.

It does however break my code pretty hard, and I'm trying to figure out what to do. At this point I'm leaning towards reverting some of this stuff in my own branch because I have no idea what the intent or vision for activeresource is. It seems like most people have moved on from activeresource, but we're in bed pretty deep with it since we've been using it since 2007 and we have multiple Rails apps running in an SOA over ActiveResource.

Rather than going off in my own direction, I think anyone using activeresource could gain from some kind of shared vision, but discussion has fizzled out, the dedicated google group never got off the ground, and I'm hard pressed to find anyone who cares. Is there anyone with the interest to actually work on formalizing activeresources magic behavior and documenting it out?

@denzel-morris
Copy link
Contributor

Hey gtd, I'd be interested in speaking with you and understanding your vision for formalizing and documenting the magic behavior of ActiveResource. I think it would benefit the community as a whole.

Shoot me an e-mail sometime 'dmorris' at 'signpost' dot 'com'. I'd like to get a feel for your direction.

@gtd
Copy link
Author

gtd commented Feb 5, 2013

Hi Denzel, thanks for responding.

After two months with no reply and several more harrowing problems I'm pretty much resigned to migrating away from ActiveResource. Maybe after we have our SOA running without ActiveResource I will have more ideas of a grand vision. Off the top of my head I feel like some easy wins would be:

  • Drop XML entirely (this has nasty bugs that last time I checked completely broke ActiveResource after the latest Rails security patch due to marking nil as YAML !!)
  • No magic based on the existence of constants. This just leads to nasty problems that only surface in production.

But that's just the tip of the iceberg. I'm dubious whether full ActiveModel integration and associations can be implemented in a sensible way.

@denzel-morris
Copy link
Contributor

Understandable, 2 months is a bit of a wait. May I ask what you've migrated to from ActiveResource? We are currently in the process of building out our infrastructure and making extensive use of ActiveResource, however, if there is a better option then we are open to switching!

Surprisingly, I agree with you on all 3 points. I'd be curious if anyone else has any opinions. I've always been unsure of whether full use of ActiveModel is a good thing and as such we don't use it, instead opting to include associations on the server side.

Thanks for getting back Gabe. :)

@gtd
Copy link
Author

gtd commented Feb 5, 2013

We haven't migrated yet. We're still suffering through for the time being, complicated by the fact that we have apps on 3.0.x, 3.1.x and 3.2.x w/ a mix of 1.8 and 1.9. Once we get everything up to 3.2.x / 1.9.3 then we'll be working on a strategy for replacing activeresource one app at a time.

@ches
Copy link
Contributor

ches commented Sep 24, 2013

Now that 4.0 is out and there seems to be at least a semblance of life support for ActiveSupport, a comment here from maintainers speaking to where conversation about vision and direction takes place would be nice, since, as @gtd said, the mailing list is so far stillborn.

@rails-bot rails-bot bot added the stale label May 5, 2017
@rails-bot
Copy link

rails-bot bot commented May 5, 2017

This issue has been automatically marked as stale because it has not been commented on for at least three months.
The resources of the Rails team are limited, and so we are asking for your help.

If it is an issue and you can still reproduce this error on the master branch,
please reply with all of the information you have about it in order to keep the issue open.

If it is a pull request and you are still interested on having it merged please make sure it can be merged clearly.

Thank you for all your contributions.

@rafaelfranca
Copy link
Member

This issue has been automatically marked as stale because it has not been commented on for at least three months.

The resources of the Rails team are limited, and so we are asking for your help.

If it is an issue and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.

If it is a pull request and you are still interested on having it merged please make sure it can be merged clearly.

Thank you for all your contributions.

@rails-bot rails-bot bot closed this as completed May 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants