Class: OpalWebpackCompileServer::LoadPathManager
- Inherits:
-
Object
- Object
- OpalWebpackCompileServer::LoadPathManager
- Defined in:
- lib/opal-webpack-compile-server/exe.rb
Class Method Summary collapse
Class Method Details
.get_load_path_entries(path) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/opal-webpack-compile-server/exe.rb', line 53 def self.get_load_path_entries(path) path_entries = [] dir_entries = Dir.entries(path) dir_entries.each do |entry| next if entry == '.' next if entry == '..' absolute_path = File.join(path, entry) if File.directory?(absolute_path) more_path_entries = get_load_path_entries(absolute_path) path_entries.push(*more_path_entries) if more_path_entries.size > 0 elsif (absolute_path.end_with?('.rb') || absolute_path.end_with?('.js')) && File.file?(absolute_path) path_entries.push(absolute_path) end end path_entries end |
.get_load_paths ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/opal-webpack-compile-server/exe.rb', line 70 def self.get_load_paths load_paths = %x{ bundle exec rails runner "puts (Rails.configuration.respond_to?(:assets) ? (Rails.configuration.assets.paths + Opal.paths).uniq : Opal.paths)" } if $? == 0 load_path_lines = load_paths.split("\n") load_path_lines.pop if load_path_lines.last == '' load_path_entries = [] load_path_lines.each do |path| more_path_entries = get_load_path_entries(path) load_path_entries.push(*more_path_entries) if more_path_entries.size > 0 end cache_obj = { 'opal_load_paths' => load_path_lines, 'opal_load_path_entries' => load_path_entries } Dir.mkdir(OpalWebpackCompileServer::OWL_CACHE_DIR) unless Dir.exist?(OpalWebpackCompileServer::OWL_CACHE_DIR) File.write(OpalWebpackCompileServer::OWL_LP_CACHE, Oj.dump(cache_obj)) else puts 'Error getting load paths!' exit(2) end end |