Class: MxxRu::Externals::Registry
- Inherits:
-
Object
- Object
- MxxRu::Externals::Registry
- Includes:
- Singleton
- Defined in:
- lib/mxx_ru/externals.rb
Constant Summary collapse
- INITIAL_MODE =
0
- NEW_RULES_MODE =
1
- OLD_RULES_MODE =
2
Class Method Summary collapse
Instance Method Summary collapse
- #handle_external(name, obj) ⇒ Object
-
#initialize ⇒ Registry
constructor
A new instance of Registry.
- #turn_new_rules_on ⇒ Object
- #turn_old_rules_on ⇒ Object
Constructor Details
#initialize ⇒ Registry
Returns a new instance of Registry.
52 53 54 55 |
# File 'lib/mxx_ru/externals.rb', line 52 def initialize @mode = INITIAL_MODE @externals = {} end |
Class Method Details
Instance Method Details
#handle_external(name, obj) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# 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 ⇒ Object
57 58 59 |
# File 'lib/mxx_ru/externals.rb', line 57 def turn_new_rules_on @mode = NEW_RULES_MODE end |
#turn_old_rules_on ⇒ Object
61 62 63 |
# File 'lib/mxx_ru/externals.rb', line 61 def turn_old_rules_on @mode = OLD_RULES_MODE end |