On Thu, Nov 13, 2008 at 3:59 PM, Peter Jaros <[EMAIL PROTECTED]> wrote: > On Wed, Nov 12, 2008 at 8:59 AM, David Chelimsky <[EMAIL PROTECTED]> wrote: >> On Wed, Nov 12, 2008 at 7:30 AM, aslak hellesoy >> <[EMAIL PROTECTED]> wrote: >>> World do >>> world = Object.new >>> world.extend(Logging::Logger) >>> world >>> end >> >> World do >> returning Cucumber::Rails::World do |world| >> world.extend(Logging::Logger) >> end >> end > > It would be really nice to be able to do: > > World do |world| > returning world do |w| > w.extend(Logging::Logger) > end > end > > This way steps files could extend the world by adding to a chain, > agnostic of the nature of the original world object. >
You *may* want to be in control over the world type (class). For example, in Rails the world instance is a ActionController::Integration::Session instance (off the top of my head) and in vanilla Cucumber it is Object. what if you want to change that? Maybe Cucumber could send in a world instance it *thinks* is the one you want (allowing what you suggest (and allow the user to instantiate a different class if they want to). # I'm happy with the suggested type World do |world| returning world do |w| w.extend(Logging::Logger) end end # I want my own type! World do world = MyType.new returning world do |w| w.extend(Logging::Logger) end end I didn't see a ticket yet, so please add my comment or link to mail archive for this thread when you create the ticket. Cheers, Aslak > Peter > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users