使用块在ruby中创建隐式方法

时间:2015-07-03 19:16:53

标签: ruby phantomjs capybara

伙计们,我有很多像这样的代码

Thread.new do
    puts "thread start"
    browser = Capybara::Session.new(:poltergeist)
    browser.visit "http://www.google.com/"
    browser.click "Search"
end

我试图制作它,以便我不必指定浏览器。 我每次都叫它的方法。 (让它隐含)

Thread.new do
    with browser do
        puts "thread start"
        browser = Capybara::Session.new(:poltergeist)
        browser.visit "http://www.google.com/"
        browser.click "Search"
    end
end

我怎样才能让它发挥作用?

我认为visual basic在msdn docs

中有类似之处

1 个答案:

答案 0 :(得分:1)

考虑一下:

Thread.new do
  puts "thread start"

  Capybara::Session.new(:poltergeist).instance_eval do
    visit "http://www.google.com/"
    click "Search"
  end
end