Re: Rails'' inflections are messy

davidcelis
Thu, 19 Jul 2012 16:27:05 -0000

I disagree with this; I think the inflections are important. They''re
just
messy right now. I don''t think it''s an arduous task to fix
them, and I
don''t think it''s unreasonable to take the stance of
"Rails can''t possibly
include every inflection by default." My problem with the current
inflections is that it seems like they *were* trying to include every
inflection. Now we''ve got a long list of inflections based on
exceptions
and irregularities, most of which rarely see the light of day in any Rails
application. But they''re frozen, so it''s difficult to get
Rails core to
accept fixes.

Looking over grammatical rules, the actual list of inflections could be
extremely short:

https://gist.github.com/3145080

I could be missing something here, but those cover the regular plurals and
a couple of irregularities that will show up in Rails apps enough to
warrant definition. More irregularities *could* be argued, but personally I
think the stance should be that most irregularities should be defined in
the user''s initializer (which is what Rails core tells people now
anyways).
But telling people right in the documentation to *fix errant inflections* in
their initializer? Yes, let''s admit we''re wrong.
That''s noble. But let''s
fix it, too.

On Thursday, July 19, 2012 4:53:43 AM UTC-7, paulie
wrote:
>
> I personally don''t like them at all. I wish that all the names of
> controllers/routes/models were unchanged so I wouldn''t have to
keep
> deciding whether I needed to pluralize. I remember spending too much
> time trying to straighten out a scaffold I created named
"series". It
> created a model named "Serie"! I shouldn''t have to spend
energy
> figuring that out. It should use the exact name I give it.
>
> On Wed, Jul 18, 2012 at 8:41 PM, davidcelis
<david-8+ab0rdVlAuDvotElmWtJA@public.gmane.org> wrote:
> > Yesterday, I opened a GitHub Issue about moving Rails inflections to
an
> > initializer. The idea wasn''t received well, understandably,
as
> generating a
> > large initializer with new Rails apps is pretty unappealing. However,
> the
> > core members seemed open to the discussion of alternatives continuing
> here.
> >
> > For those of you not in the know, inflections (the defined rules for
> > singularization/pluralization) in Rails are currently frozen. What
this
> > means is that most pull requests submitted that add, remove, or change
> > inflections are closed and not merged. The reasoning behind this is to
> avoid
> > breaking existing applications that depend on these inflections, even
if
> > they are errant. People are advised to fix (yes, fix) these
inflections
> > themselves in their inflections initializer.
> >
> > In my opinion, with a major 4.0 release coming up, inflections should
be
> > unfrozen and fixed/cleaned up. There is a lot that is bad in this
file,
> and
> > I don''t think fear of breaking existing apps is a good reason
to freeze
> > mistakes. People should read the CHANGELOG when updating. They should
> read
> > the upgrade guides. It''s not that hard to redefine the
inflection you
> need
> > in that initializer, and the current inflections are based mostly
around
> > exceptions to grammatical rules rather than the rules themselves.
> >
> > If people want specifics, I''ve written a post about this:
> >
> >
>
http://davidcelis.com/blog/2012/07/18/the-current-state-of-rails-inflections/
> >
> > I''m curious as to what others think. I''d like to
help make this a better
> > framework, and I''ve heard a lot of complaints from personal
colleagues
> about
> > how messy the inflections are.
> >
>

--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit