module SBSM::ViralState

Constants

VIRAL

Public Instance Methods

infect(newstate) click to toggle source
# File lib/sbsm/viralstate.rb, line 31
def infect(newstate)
        @viral_modules.uniq.each { |mod|
                newstate.extend(mod) unless newstate.is_a?(mod)
        }
        newstate
end
trigger(event) click to toggle source
Calls superclass method
# File lib/sbsm/viralstate.rb, line 37
def trigger(event)
  newstate = super
  if(event==:logout)
    @session.logout
  else
                            infect(newstate)
  end
  newstate
rescue RangeError
  @session.logout
  home
end