3 cattr_accessor :manifest
4 attr :system_resources, :magic_numbers,
5 :items, :controllers, :models, :module_names
6 # call me before load routes.rb
7 # routes.rb needs engine_resources manifest in system_resources
8 # ex. it's adding license_groups routes
9 def initialize global_json
11 @global_json = global_json || {}
12 @system_resources = SystemResource.new(self, SystemResource.set_default(@global_json['system_resources']))
13 @magic_numbers = @global_json['magic_numbers']
17 # managers can't initialize before load application.rb
18 return unless defined? ::Pettanr
19 @items = ManifestBase.load_type_name_args(self, @global_json, 'items', ItemFactory)
20 @controllers = Controller.load(self, @global_json, 'controllers')
21 @models = Model.load(self, @global_json, 'models')
23 @items.each do |name, peta_manifest|
24 peta_manifest.init_after_load_manifest
28 def init_after_load_manifest
29 @system_resources.init
32 def load_models_manifest
33 @models.each do |model_name, model|
34 model.classify.load_manifest
46 Manifest.manifest = Manifest.new global_json
49 def item_name_to_model item_name
50 item_name.classify.constantize