class ActiveFixtures::Session

Constants

CLEAN_NAME

Public Class Methods

new(attrs = {}) click to toggle source
Calls superclass method
# File lib/active-fixtures/session.rb, line 15
def initialize(attrs = {})
  super

  cookies.map!(&:symbolize_keys!)

  if attrs[:block]
    using_session do
      attrs[:block].call

      self.url = context.current_url
      self.cookies = context.page.driver.cookies.values.map{ |c| c.instance_variable_get(:@attributes).symbolize_keys}
    end
  end
end

Public Instance Methods

perform(block) click to toggle source
# File lib/active-fixtures/session.rb, line 30
def perform(block)
  res = nil

  using_session do
    context.reset_session!
    cookies.each do |cookie|
      context.page.driver.set_cookie(nil, nil, cookie)
    end
    context.visit(url) if url
    res = block.call
  end

  res
end

Private Instance Methods

using_session(&block) click to toggle source
# File lib/active-fixtures/session.rb, line 47
def using_session(&block)
  context.using_session("__af::#{name}", &block)
end