Class | ArkanisDevelopment::SimpleLocalization::FeatureManager |
In: |
lib/feature_manager.rb
|
Parent: | Object |
A singleton to manage which features should be loaded at what time.
# File lib/feature_manager.rb, line 10 10: def initialize 11: @all_features = read_available_features 12: @plugin_init_features = [] 13: @frozen_plugin_init_features = nil 14: @localization_init_features = [] 15: @disabled_features = [] 16: end
Returns all available features.
# File lib/feature_manager.rb, line 37 37: def all_features 38: @all_features 39: end
Returns the list of disabled features.
# File lib/feature_manager.rb, line 63 63: def disabled_features 64: @disabled_features 65: end
Mark the specified features for usual loading when initializing the localization.
# File lib/feature_manager.rb, line 32 32: def load(*features) 33: @localization_init_features.concat features.flatten 34: end
Returns the features that can be loaded .
# File lib/feature_manager.rb, line 48 48: def localization_init_features 49: @all_features & (@localization_init_features - @plugin_init_features - @disabled_features) 50: end
Returns the features that are requested to be loaded during plugin initialization.
# File lib/feature_manager.rb, line 43 43: def plugin_init_features 44: @frozen_plugin_init_features || (@all_features & (@plugin_init_features - @disabled_features)) 45: end