On Mar 24, 12:01 pm, Martin Gamsjaeger <[email protected]> wrote:
> OK
>
> So I probably was a bit too direct! Of course we are happy to discuss
> the implications of this move with the public! I didn't want my latest
> reply to sound like we don't care, it's been decided, at all! I still
> think that describing actual problems takes us further than simply
> saying "DM is now tied to rails" tho, which simply isn't true. It
> depends on part of the rails stack, but on a part that fortunately now
> is separate enough from rails, to be usable for other projects too. I
> think of active_support as kind of an "extended stdlib" and I think we
> should do our best to help the active_support team make it behave even
> more so. That can only be done by using it in different projects (like
> we do in dm now) and help them eliminate the last flaws that "prevent"
> it from being really completely independent from rails.
>
> That said, PLEASE let us know of all the concerns you have and we will
> happily discuss them!

I am sorry I did not provide a more explanatory comment. Let me break
down some issues/thoughts that I have on the matter.

1) For ActiveSupport, Rails and ActiveRecord will always come first b/
c that is it's target concern. So DM will have to adjust for future
changes that do not take DM into consideration.

2) DM is very modular. Having it depend on such a large library where
significant portions of it have nothing to do with DM seems to go
against the grain of this modular design.

3) There will still be extensions DM wants/needs that ActiveSupport
does not support, these will have to maintained in dm-core itself,
even if they are generic and could be reused by other libs.

4) I bet many of the extensions used could easily be replaced with
normal code and/or consolidated. For example:

- String#regexp_escape might be more OOP but doesn't really save any
typing over Regexp.escape(string).
- Hash#environmentize_keys! and #protect_keys! and others like them
can all be easily replaced by one method,  #rekey!(&block).
- Now that Ruby's hash preserves insertion order is Dictionary needed
anymore? And even if it is, it is available as a stand-alone gem.

5) For a couple of the some add-on classes extlib defines, there are
probably better, more tightly focused libraries already out there that
could be used. You might even spin some off. For instance
lazy_array.rb looks like it could be a fine gem on it's own.

6) Something that would be a lot more helpful to everyone on the core
extensions front is if enough well respected Rubyists got together and
talked to Matz about accepting the "core-of-the-core" extensions used
by so many libs. #blank? immediately comes to mind as a good example.

I would also like to sum up by pointing out that I have become
increasingly concerned that Ruby is increasingly orbiting Rails rather
than the other way around. I would hate to see Ruby become thought of
as just the general purpose DSL that Rails uses. But I fear it is
becoming more and more so. And when I hear things like DataMapper
depending on ActiveSupport, little red-flags go off on that account.

-- 
You received this message because you are subscribed to the Google Groups 
"DataMapper" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/datamapper?hl=en.

Reply via email to