Module: Alexandria::UI::FreezeThaw

Defined in:
lib/alexandria/ui/init.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



28
29
30
31
32
# File 'lib/alexandria/ui/init.rb', line 28

def self.included(base)
  base.class_eval do
    attr_accessor :old_model
  end
end

Instance Method Details

#freezeObject



38
39
40
41
42
43
# File 'lib/alexandria/ui/init.rb', line 38

def freeze
  return if frozen?

  self.old_model = model
  self.model = nil
end

#frozen?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/alexandria/ui/init.rb', line 34

def frozen?
  old_model && !model
end

#unfreezeObject



45
46
47
48
49
50
# File 'lib/alexandria/ui/init.rb', line 45

def unfreeze
  return unless frozen?

  self.model = old_model
  self.old_model = nil
end