Class: ErpApp::ApplicationResourceLoader::SharedLoader

Inherits:
BaseLoader
  • Object
show all
Defined in:
lib/erp_app/application_resource_loader/shared_loader.rb

Instance Method Summary collapse

Instance Method Details

#locate_shared_files(resource_type, folder = 'shared') ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/erp_app/application_resource_loader/shared_loader.rb', line 7

def locate_shared_files(resource_type, folder='shared')
  engine_dirs = Rails::Application::Railties.engines.map{|p| p.config.root.to_s}
    root_and_engines_dirs = (engine_dirs | [Rails.root])

# get shared resources (global js and css)
	shared_files = []
	root_and_engines_dirs.each do |engine_dir|
			if File.exists? File.join(engine_dir,"public/#{resource_type.to_s}/erp_app", folder)
		    shared_path = File.join(engine_dir,"public/#{resource_type.to_s}/erp_app", folder,"**/*.#{(resource_type == :javascripts) ? 'js' : 'css'}")
		    paths = Dir.glob(shared_path)
        shared_files = (shared_files | paths.collect{|path| path.gsub(File.join(engine_dir,'public',resource_type.to_s,'/'),'')}).flatten
		  end
    end

  shared_files = sort_files(shared_files)
end