У меня есть модуль Ruby, который я хочу использовать в качестве вспомогательного класса для определения шага Огурца. Я хочу, чтобы модуль содержал переменную класса, к которой можно получить доступ извне (определения шагов), а также внутри (метод в модуле). Вот упрощенная версия моего модуля:Доступ к переменным модуля Ruby Cucumber изнутри и снаружи?
module CalendarHelper
def self.calendar_ids
ids = ['1', '2', '3', '4']
end
def self.fillCalendarFields (browser)
calendar_ids.each { |id|
browser.text_field(:id => id).set '2001-01-01'
}
end
end
Здесь метод fillCalendarFields
должен иметь возможность доступа к переменной calendar_ids
класса.
Это то, что я хочу сделать с моими определениями шага:
And /^the calendar fields are filled$/ do
CalendarHelper.fillCalendarFields(@browser)
end
Then /^the calendar fields are cleared$/ do
CalendarHelper.calendar_ids.each { |id|
@browser.text_field(:id => id).set ""
}
end
Первое определение шага вызывает fillCalendarFields
метод из модуля. Определение второго шага относится к переменной calendar_ids
для собственного использования. Любые советы о том, как правильно это сделать? Заранее спасибо.
Спасибо! Это действительно помогло. Наверное, я просто пропустил эту небольшую часть. – Blutzer