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