@@ -88,23 +88,24 @@ def self.load_asset_code(sprockets, name)
88
88
asset = sprockets [ name . sub ( /(\. js)?$/ , '.js' ) ]
89
89
return '' if asset . nil?
90
90
91
- module_name = -> asset { asset . logical_path . sub ( /\. js$/ , '' ) . inspect }
91
+ module_name = -> asset { asset . logical_path . sub ( /\. js$/ , '' ) }
92
92
mark_as_loaded = -> path { "Opal.mark_as_loaded(#{ path . inspect } );" }
93
- non_opal_assets = ( [ asset ] +asset . dependencies ) . select do |a |
94
- asset_engines = ::Sprockets ::AssetAttributes . new ( sprockets , a . pathname ) . engines
95
- processed_by_opal = asset_engines . any? { |engine | engine <= ::Opal ::Processor }
96
- not( processed_by_opal )
97
- end
93
+ processed_by_opal = -> asset , sprockets {
94
+ attributes = ::Sprockets ::AssetAttributes . new ( sprockets , asset . pathname )
95
+ attributes . engines . any? { |engine | engine <= ::Opal ::Processor }
96
+ }
98
97
99
- loaded_paths = stubbed_files . to_a +
100
- non_opal_assets . map { |a | module_name [ asset ] }
98
+ non_opal_assets = ( [ asset ] +asset . dependencies )
99
+ . select { |asset | not( processed_by_opal [ asset , sprockets ] ) }
100
+ . map { |asset | module_name [ asset ] }
101
101
102
- mark_as_loaded = loaded_paths . map { |path | mark_as_loaded [ path ] }
102
+ mark_as_loaded = ( non_opal_assets + stubbed_files . to_a )
103
+ . map { |path | mark_as_loaded [ path ] }
103
104
104
105
<<-JS
105
106
if (typeof(Opal) !== 'undefined') {
106
107
#{ mark_as_loaded . join ( "\n " ) }
107
- Opal.load(#{ module_name [ asset ] } );
108
+ Opal.load(#{ module_name [ asset ] . inspect } );
108
109
}
109
110
JS
110
111
end
0 commit comments