File tree Expand file tree Collapse file tree 4 files changed +16
-7
lines changed Expand file tree Collapse file tree 4 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ def initialize(source)
21
21
include Sprockets ::Rails ::Utils
22
22
23
23
VIEW_ACCESSORS = [ :assets_environment , :assets_manifest ,
24
- :assets_precompile ,
24
+ :assets_precompile , :precompiled_assets ,
25
25
:assets_prefix , :digest_assets , :debug_assets ]
26
26
27
27
def self . included ( klass )
@@ -227,11 +227,6 @@ def lookup_debug_asset(path, options = {})
227
227
228
228
asset
229
229
end
230
-
231
- # Internal: Generate a Set of all precompiled assets logical paths.
232
- def precompiled_assets
233
- @precompiled_assets ||= assets_manifest . find ( assets_precompile || [ ] ) . map ( &:logical_path )
234
- end
235
230
end
236
231
end
237
232
end
Original file line number Diff line number Diff line change @@ -6,6 +6,11 @@ module Utils
6
6
def using_sprockets4?
7
7
Gem ::Version . new ( Sprockets ::VERSION ) >= Gem ::Version . new ( '4.0.0' )
8
8
end
9
+
10
+ # Internal: Generate a Set of all precompiled assets logical paths.
11
+ def build_precompiled_list ( manifest , assets )
12
+ manifest . find ( assets || [ ] ) . map ( &:logical_path )
13
+ end
9
14
end
10
15
end
11
16
end
Original file line number Diff line number Diff line change @@ -26,6 +26,9 @@ class Configuration
26
26
27
27
# Returns Sprockets::Manifest for app config.
28
28
attr_accessor :assets_manifest
29
+
30
+ # Returns array of already precompiled assets
31
+ attr_accessor :precompiled_assets
29
32
end
30
33
31
34
class Engine < Railtie
@@ -150,8 +153,11 @@ def self.build_manifest(app)
150
153
app . routes . prepend do
151
154
mount app . assets => config . assets . prefix
152
155
end
156
+ app . assets_manifest = build_manifest ( app )
157
+ app . precompiled_assets = build_precompiled_list ( app . assets_manifest , config . assets . precompile )
158
+ else
159
+ app . assets_manifest = build_manifest ( app )
153
160
end
154
- app . assets_manifest = build_manifest ( app )
155
161
156
162
ActionDispatch ::Routing ::RouteWrapper . class_eval do
157
163
class_attribute :assets_prefix
@@ -176,6 +182,7 @@ def self.build_manifest(app)
176
182
177
183
self . assets_environment = app . assets
178
184
self . assets_manifest = app . assets_manifest
185
+ self . precompiled_assets = app . precompiled_assets
179
186
end
180
187
end
181
188
end
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ def setup
25
25
@view . assets_manifest = @manifest
26
26
@view . assets_prefix = "/assets"
27
27
@view . assets_precompile = %w( manifest.js )
28
+ @view . precompiled_assets = @view . build_precompiled_list ( @manifest , @view . assets_precompile )
28
29
@view . request = ActionDispatch ::Request . new ( {
29
30
"rack.url_scheme" => "https"
30
31
} )
@@ -729,6 +730,7 @@ def test_stylesheet_link_tag_integrity
729
730
class AssetUrlHelperLinksTarget < HelperTest
730
731
def test_precompile_allows_links
731
732
@view . assets_precompile = [ "url.css" ]
733
+ @view . precompiled_assets = @view . build_precompiled_list ( @manifest , @view . assets_precompile )
732
734
assert @view . asset_path ( "url.css" )
733
735
assert @view . asset_path ( "logo.png" )
734
736
You can’t perform that action at this time.
0 commit comments