Search code examples
rubycucumber

What does the World() method do in ruby?


I'd like to know what does the following line do:

World(::Cucumber::Rails::Capybara::SelectDatesAndTimes)

Because I'm getting

uninitialized constant Cucumber::Rails::Capybara::SelectDatesAndTimes::XPath (NameError)

And I don't understand what it is supposed to do to tell what's wrong :-)

EDIT: I gisted my Gemfile: https://gist.github.com/822480 and my gem list on windows vista 32-bit (https://gist.github.com/822483) and ubuntu maverick 32-bit https://gist.github.com/822491. Both are running ruby 1.8.7. Notice that I'm using this fork of cucumber-rails: https://github.com/johnf/cucumber-rails because my ultimate goal is to get these datetime selectors to work with capybara.

I also found that on Linux I get another error message:

Unable to find '#<XPath::Union:0xb6e078b8>' (Capybara::ElementNotFound)

Solution

  • The World() method isn't one from Ruby, it's one specifically from Cucumber, regrettably they haven't even documented it.

    http://rubydoc.info/github/aslakhellesoy/cucumber-rails/master/Cucumber/Rails/World:initialize

    In this case, it looks like something it missing from your Environment, maybe Caprybara, please give more info, and share your Ruby/Rails/Cucumber/Bundler/etc versions, and your Gemfile.