Почему бы не использовать For Each
? Тем путем Вы не должны заботиться, какой LBound
и UBound
.
Dim x, y, z
x = Array(1, 2, 3)
For Each y In x
z = DoSomethingWith(y)
Next
Вы можете получить правильный контекст, используя Sinatra :: Application.class_eval
Изменить: полное объяснение см. В ответе оригинального автора.
Похоже, мне нужно напрямую переопределить свой механизм аутентификации в Before do ... end
-block
Итак, я закончил с hooks.rb
, помещенным в файл features / support /
, перезаписывающим мой logged_in?
и метод current_user
.
Before do
MySinatraApplicationClass.class_eval do
helpers do
def logged_in?
return true
end
def current_user
# This returns a certain Username usually stored
# in the session, returning it like
# that prohibits different user logins, but for
# now this is enough for me
"Walter"
end
end
end
end
единственное, о чем я должен был позаботиться, это то, что никакие другие действия в приложении не читаются напрямую из сеанса
, а скорее используют этих помощников.
К сожалению, я думаю, что этот способ обработки сеансовых приложений Sinatra через Cucumber уже описан где-то еще, и я просто подумал , что моя проблема в другом .