There are a number of additional features I required for a current
project. I was able to solve some of these by using "Reactive
Resource" (https://github.com/justinweiss/reactive_resource) but many
I had to implement as override of various sorts. It seems like a
better solution would be to build some more flexibility into Active
Resource itself.
I notice that Active Resource hasn't really changed since 3.0.0. Is
anybody working on this right now? Is there a maintainer I should talk
to regarding potential patches?
I think if you would, It'd be great if you'd fork it and maintain it. I don't really see much effort to it either, and I don't know how to *patch* it since I'm not using it regularly.
I think I'd then try to convince the core team to remove it, and then suggest people to use that gem instead.
I don't have a good idea of the pros and cons of turning Active
Resource into a gem, but if that were to happen, it does seem like
Active Resource might become more free to evolve quickly and
independently of the rest of Rails. Perhaps someone who is more
knowledgeable could comment further.
I’m working with ActiveResource at the moment and I do find it a bit lacking personally. Having to implement the find_by_* methods myself is one of my prime annoyances at the moment.
Perhaps a group of people could get together and work on fixing up the annoyances people have with it?
I'm working with ActiveResource at the moment and I do find it a bit lacking
personally. Having to implement the find_by_* methods myself is one of my
prime annoyances at the moment.
Perhaps a group of people could get together and work on fixing up the
annoyances people have with it?
It'd be nice to get some input from the core team on this, but I've
always seen ActiveResource as the "almost unused" part of rails. It's
useful (mostly) when you have another rails app providing the web
service, and that's not always the case (when you don't, you usually
need to add enough glue around that it ends up being easier to use
something else.)
Has the core team thought about splitting ActiveResource out of the
main rails framework, as ActionWebService did a while back?
FYI: I don’t mention it in Rails 3 in Action because there’s better alternatives, such as HTTParty (or if you’re desperate, Typhoeus + Nokogiri) for connecting to external web services.
Just a testimony here, as I stumble upon this thread.
Two years ago, my team and I worked on a complex back-office for a
client : a modular sales and customer management system, dealing with
offers, sales, payment, hotline, archive of communications with the
customer. We did it with Rails and we had about 15 different
applications interconnected with webservices. We had to deal with
shared authentication, intranet accounts, rights management, sending
Objects between applications (but with different attributes, depending
on who is asking). A front-end allowed to search, edit and create a
lot of things, and more than often a hotliner action on the frontend
could trigger 10 applications in the back before getting the final
result. To do this we used ActiveRessource.
Unfortunately we didn't take the time to give feedbacks to the Rails
community about this project, but here are some bulletpoints :
- we had a very hard time finding solutions to our problems on the
internet. It seems that very, very few people are using
ActiveRessource and Rails to construct complex systems.
- If we let aside all the observations like "You should have used Java
instead" that we received from some externals, I should point out that
ActiveRessource has been pretty disappointing, and we could clearly
see how far it is from the rest of Rails features in term of quality.
We felt that only few people actually use it.
- we had to patch for some issues and we wrote several plug-ins to
help us communicate between apps. We had to code it quick and we now
that the quality level of our coding was not enough to submit these
things to the Rails community. In a sense we lacked confidence. But
the thing is : ActiveRessource is far from being enough to do serious
work with several Rails apps, it's still experimental in my opinion.
And since my project two years ago, it has not evolved a lot.
I think that it would be a good move to make it an external gem, and
if a core-team member or a serious Rails committer takes the lead, I'm
ready to help and to rework on some patches we did.
Please do submit these patches to the Rails project itself. It doesn’t matter if you think are poorly written. They will be reviewed and you will get feedback on them, learning how to write better code and understand the Rails code as you do it.
+1 for splitting ActiveResource into a gem that is outside of the
core.
As Ryan Bigg says below, there are better alternatives and removing it
from the core wouldn't force those that are using something else to
have it laying around. It would also allow it to be versioned
independently as it seems to have a lifecycle of its' own.
So this brings me back to my initial question: who is in charge of
this right now? If we wanted to make a gem, as everyone seems to be
suggesting, how would the transition happen?
I’ll offer to maintain it, I’ve been looking for a chance to get involved with Rails in a better way. I’m a student stuck in the middle of exams right now, but am starting a job heading up the dev team on a Ruby/Rails project in a couple of months so will be involved heavily then. I know the guys behind the new company really want to be contributing to open source, and I certainly do, so they will be resources backed to helping maintain it.
How does this kind of thing usually work? Does it involve some kind of interview, or is it just a “first come, first serve” take it or leave it basis?
Jason Stirk and I are working on a rewrite of Active Resource at Railsconf. We’re looking for help too, so if you’re here come catch up with us and we’ll talk.
Please join if you're interested in contributing. I always set big
groups on digest or no-email and miss most of the discussion, but I
want to receive actual messages about Active Resource development. By
having a high signal-to-noise list, hopefully we can keep the
conversation focused and build some momentum.
I'm working (with a friend of mine) on improving ActiveResource.
Currently, we work at this pull request and we're adding a belongs_to
method for finishing it:
I would love to see that ActiveResource stay in Rails core and get
more attention by it's maintainers because it has a lot of potential
to become a really usefull piece of software,
but even if it get moved into a new gem we will continue developing on
it.
I'm happy with whatever the consensus is (gem or core).
I'd like to suggest we make a list of features which AR should have
and doesn't and then we can figure out what sort of changes will
support those features and not duplicate each other's efforts.
The problems which I have had to deal with in my own code are:
- converting to/from camel case
- resource paths with no extension
- being able to specify which attributes are sent instead of sending
them all
Wishlist:
- Hooks!
- Expand the power of the "schema" (possibly fold in the feature that
lets you send / ignore certain attributes)
I understand Markus is working on associations. Reactive Resource also
adds associations.
Ryan and Pierre, I'm curious what features you are adding.