assets_precompile_enforcer 1.0.5 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZTU5MGVjZjhhMTQ0ZmM1NTc0NTI5OTMyNjEyZDVmM2U5YTk2ZDFhOA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ODIyN2QwYzhiZmNhMmEyYTgyM2JhMzAwYWUwMDQ1NDBjOTdjMDYzNw==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YTI0ZmJhNjI0ZWE0MTAzMDg5MDUxMDk3NjhjODI3NDUyZDhkZjBhZWIxN2Zl
|
10
|
+
ZDcxMTg3NDJjYTcyMmUzZWVjZmJmODQ5ZjYwNzA0ZjE0NjVmNzkyZGM3NGU4
|
11
|
+
MDI3MTU0NjY2MjBkOGU1ZDgzOTA3ZDhiNWQ5MzVlYjE3ZjU0MDQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZDJlODdiYThkZDc0ZGU3MWY2MTc1YmU1NDZhNDJhZWZkNDJhZWVkMWMwNGQx
|
14
|
+
NDFiNGY3MGYyNzAxZGIyOTYzNjViYzA0Mjk1YjYzZjNiN2IxNTAwZTM5YjNk
|
15
|
+
OWM1ZTFkMDdiYmVlOGE0NTdmY2UwNzE2ZWIyYWY1MzI3ZWYxYWY=
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Assets Precompile Enforcer
|
2
2
|
|
3
3
|
This gem ensures that developers won't forget to add assets to `config.assets.precompile` while they are developing.
|
4
|
-
An exception will be raised if you include an asset via `javascript_include_tag` or `stylesheet_link_tag`,
|
4
|
+
An exception will be raised if you include an asset via `javascript_include_tag` or `stylesheet_link_tag`,
|
5
5
|
and it doesn't match a filter in `config.assets.precompile`.
|
6
6
|
|
7
7
|
## Installation
|
@@ -33,6 +33,13 @@ You also need to add the following line to `config/environments/development.rb`:
|
|
33
33
|
You will need to restart your Rails server whenever you make any changes to `config.assets.precompile`.
|
34
34
|
|
35
35
|
|
36
|
+
## Behavior
|
37
|
+
|
38
|
+
Whenever you call `javascript_include_tag` or `stylesheet_link_tag` for an asset that doesn't exist in the `config.assets.precompile` array, Rails will throw an error in your development environment:
|
39
|
+
|
40
|
+
<asset file> must be added to config.assets.precompile, otherwise it won't be precompiled for production!
|
41
|
+
|
42
|
+
|
36
43
|
## Advanced Usage
|
37
44
|
|
38
45
|
To avoid restarting your server when you change `config.assets.precompile`, add the following lines to `config/application.rb`:
|
@@ -43,7 +50,7 @@ To avoid restarting your server when you change `config.assets.precompile`, add
|
|
43
50
|
config.watchable_files << 'config/assets_precompile.rb'
|
44
51
|
|
45
52
|
Then move your `config.assets.precompile` settings to a new file at `config/assets_precompile.rb`:
|
46
|
-
|
53
|
+
|
47
54
|
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
|
48
55
|
assets = Rails.application.config.assets
|
49
56
|
assets.precompile = assets.original_precompile + %w( extra_assets.js )
|
@@ -51,6 +58,13 @@ Then move your `config.assets.precompile` settings to a new file at `config/asse
|
|
51
58
|
Now you will be able to make changes to `config/assets_precompile.rb` without needing to restart your server.
|
52
59
|
|
53
60
|
|
61
|
+
You can also configure a custom error message so that other developers know where to register their missing assets:
|
62
|
+
|
63
|
+
```ruby
|
64
|
+
config.assets.precompile_error_message_proc = -> asset_file { "#{File.basename(asset_file)} must be added to `config/assets_precompile.rb`, otherwise it won't be precompiled for production!" }
|
65
|
+
```
|
66
|
+
|
67
|
+
|
54
68
|
## Contributing
|
55
69
|
|
56
70
|
1. Fork it
|
@@ -41,11 +41,19 @@ module Sprockets
|
|
41
41
|
return if asset_paths.is_uri?(source)
|
42
42
|
asset_file = asset_environment.resolve(asset_paths.rewrite_extension(source, nil, ext))
|
43
43
|
unless asset_environment.send(:logical_path_for_filename, asset_file, asset_list)
|
44
|
-
|
45
|
-
|
44
|
+
|
45
|
+
# Allow user to define a custom error message
|
46
|
+
error_message_proc = Rails.application.config.assets.precompile_error_message_proc
|
47
|
+
|
48
|
+
error_message = if error_message_proc
|
49
|
+
error_message_proc.call(asset_file)
|
50
|
+
else
|
51
|
+
"#{File.basename(asset_file)} must be added to config.assets.precompile, otherwise it won't be precompiled for production!"
|
52
|
+
end
|
53
|
+
|
54
|
+
raise AssetPaths::AssetNotPrecompiledError.new(error_message)
|
46
55
|
end
|
47
56
|
end
|
48
|
-
|
49
57
|
end
|
50
58
|
end
|
51
59
|
end
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assets_precompile_enforcer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
5
|
-
prerelease:
|
4
|
+
version: 1.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nathan Broadbent
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-11-19 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Raises an exception if assets are missing from config.assets.precompile
|
15
14
|
during development
|
@@ -31,32 +30,25 @@ files:
|
|
31
30
|
homepage: https://github.com/ndbroadbent/assets_precompile_enforcer
|
32
31
|
licenses:
|
33
32
|
- MIT
|
33
|
+
metadata: {}
|
34
34
|
post_install_message:
|
35
35
|
rdoc_options: []
|
36
36
|
require_paths:
|
37
37
|
- lib
|
38
38
|
required_ruby_version: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
39
|
requirements:
|
41
40
|
- - ! '>='
|
42
41
|
- !ruby/object:Gem::Version
|
43
42
|
version: '0'
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
hash: -2970029651410170092
|
47
43
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
48
|
-
none: false
|
49
44
|
requirements:
|
50
45
|
- - ! '>='
|
51
46
|
- !ruby/object:Gem::Version
|
52
47
|
version: '0'
|
53
|
-
segments:
|
54
|
-
- 0
|
55
|
-
hash: -2970029651410170092
|
56
48
|
requirements: []
|
57
49
|
rubyforge_project:
|
58
|
-
rubygems_version:
|
50
|
+
rubygems_version: 2.0.5
|
59
51
|
signing_key:
|
60
|
-
specification_version:
|
52
|
+
specification_version: 4
|
61
53
|
summary: Enforces config.assets.precompile in development
|
62
54
|
test_files: []
|