class MxxRu::Externals::Registry
Constants
- INITIAL_MODE
- NEW_RULES_MODE
- OLD_RULES_MODE
Public Class Methods
handle_external(*args)
click to toggle source
# File lib/mxx_ru/externals.rb, line 65 def Registry.handle_external(*args) Registry.instance.handle_external(*args) end
new()
click to toggle source
# File lib/mxx_ru/externals.rb, line 52 def initialize @mode = INITIAL_MODE @externals = {} end
Public Instance Methods
handle_external(name, obj)
click to toggle source
# File lib/mxx_ru/externals.rb, line 69 def handle_external(name, obj) if INITIAL_MODE == @mode raise "Use mxxruexternals command for handling externals.\n" + "For example:\n\n" + "mxxruexternals -f my_externals.rb\n" elsif NEW_RULES_MODE == @mode @externals[ name ] = obj.make_hash obj.define_rules :new_rules elsif OLD_RULES_MODE == @mode fresh_version = @externals.fetch(name, nil) if fresh_version puts "[Note] #{name} previous rules found" old_hash = obj.make_hash if old_hash == fresh_version puts "[Note] #{name} previous rules the same with current" else puts "[Note] #{name} previous rules differ with current" puts "[Note] #{name} WILL BE REGET" obj.define_rules :old_rules end else puts "[Note] #{name} not present in the current version" puts "[Note] #{name} WILL BE REMOVED" obj.define_rules :old_rules end end end
turn_new_rules_on()
click to toggle source
# File lib/mxx_ru/externals.rb, line 57 def turn_new_rules_on @mode = NEW_RULES_MODE end
turn_old_rules_on()
click to toggle source
# File lib/mxx_ru/externals.rb, line 61 def turn_old_rules_on @mode = OLD_RULES_MODE end