Class: Discombobulator::SwapGlobals

Inherits:
Object
  • Object
show all
Defined in:
lib/discombobulator/swap_globals.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.call(meth, *args, &block) ⇒ Object



2
3
4
# File 'lib/discombobulator/swap_globals.rb', line 2

def self.call(meth, *args, &block)
  self.new.call(meth, *args, &block)
end

Instance Method Details

#call(meth, *args, &block) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/discombobulator/swap_globals.rb', line 6

def call(meth, *args, &block)
  name1, name2 = global_variables.shuffle.take(2)
  val1, val2 = get_global(name1), get_global(name2)
  set_global(name1, val2)
  set_global(name2, val1)
  Discombobulator.new
rescue NameError, SyntaxError, TypeError, ArgumentError
  retry
end