class Console1984::Refrigerator
Freezes classes to prevent tampering them
Public Instance Methods
freeze_all()
click to toggle source
# File lib/console1984/refrigerator.rb, line 5 def freeze_all eager_load_all_classes freeze_internal_instances # internal modules and classes are frozen by including Console1984::Freezable freeze_external_modules_and_classes Console1984::Freezeable.freeze_all end
Private Instance Methods
eager_load_all_classes()
click to toggle source
# File lib/console1984/refrigerator.rb, line 27 def eager_load_all_classes Rails.application.eager_load! unless Rails.application.config.eager_load Console1984.class_loader.eager_load end
external_modules_and_classes_to_freeze()
click to toggle source
# File lib/console1984/refrigerator.rb, line 22 def external_modules_and_classes_to_freeze # Not using a constant because we want this to run lazily (console-dependant dependencies might not be loaded). [Parser::CurrentRuby] end
freeze_external_modules_and_classes()
click to toggle source
# File lib/console1984/refrigerator.rb, line 18 def freeze_external_modules_and_classes external_modules_and_classes_to_freeze.each { |klass| klass.include(Console1984::Freezeable) } end
freeze_internal_instances()
click to toggle source
# File lib/console1984/refrigerator.rb, line 14 def freeze_internal_instances Console1984.config.freeze unless Console1984.config.test_mode end