Module: Maruto::MagentoInstance

Defined in:
lib/maruto/magento_instance.rb

Class Method Summary collapse

Class Method Details

.load(magento_root) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/maruto/magento_instance.rb', line 7

def self.load(magento_root)
	Dir.chdir(magento_root) do
		magento_version = Maruto::MagentoVersion.read_magento_version()

		all_modules = Maruto::ModuleDefinition.parse_all_module_definitions()
		sorted_modules, active_modules = Maruto::ModuleDefinition.analyse_module_definitions(all_modules)

		sorted_modules.each do |m|
			Maruto::ModuleConfiguration.parse_module_configuration(m)
		end

		event_observers = Maruto::ModuleConfiguration.collect_event_observers(sorted_modules)

		# TODO move to function: collect_warnings + write spec
		warnings = []
		all_modules.each do |m|
			warnings.concat m[:warnings].map{|w| w.merge(:module => m[:name]) } if m.include? :warnings
		end

		{
			:active_modules  => active_modules,
			:all_modules     => Hash[all_modules.collect { |m| [m[:name], m]}],
			:sorted_modules  => sorted_modules,
			:event_observers => event_observers,
			:version         => magento_version,
			:warnings        => warnings,
		}
	end
end