@ james имеет правильный ответ, но только для справки в будущем (и потому что это укусило меня раньше), этот вызов:
driver.GetParameters(:username => 'uname', :password => 'pword')
передает один параметр: хеш. Каждый из ваших элементов не одно; это хеш-элемент с ключом и значением. Руби замечает это и помещает их в один хеш. Таким образом, вы фактически передаете это:
driver.GetParameters({:username => 'uname', :password => 'pword'})
Это одна из запутанных вещей при вызове метода в Ruby. Если вы передаете хеш в качестве последнего (или единственного) параметра, вы можете пропустить {}
, и большинство людей это делает. Трудно разобраться иногда.
Если вы действительно хотите передать это как два параметра:
driver.GetParameters('uname', 'pword')