On Sat, May 11, 2013 at 7:11 PM, jeremyevans0 (Jeremy Evans) < merch-redmine / jeremyevans.net> wrote: > > Issue #8377 has been updated by jeremyevans0 (Jeremy Evans). > > > jballanc (Joshua Ballanco) wrote: > > If we remove the ability to call methods with (({::})), then the class > definition lines don't match as nicely: > > > > class Baz < Foo::Bar > > ... > > class Quux < Foo.Bar("Howdy") > > ... > > > > Though I'd be interested to hear Mr. Evans opinion, since I think Sequel > is where I've seen this used to the greatest effect... > > I'm against removing it, since I think there are places where the syntax > looks nicer with :: (constructors such as Sequel::Model() and > Nokogiri::XML()). Having only one way to do something for its own sake is > not the ruby way, and I think the loss of backwards compatibility and nicer > syntax outweighs the reduced confusion. I don't train new ruby > programmers, though, so maybe I underestimate the confusion this causes. Can't you use use #[] for this? class Quuz < Foo::Bar["Howdy"] end class User < Sequel::Model[:User] end doc = Nokogiri::XML[data]