rack-zippy 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -1
- data/CHANGELOG.md +5 -0
- data/README.md +26 -9
- data/lib/rack-zippy.rb +2 -1
- data/lib/rack-zippy/version.rb +1 -1
- data/test/asset_server_test.rb +13 -0
- data/video-player.png +0 -0
- metadata +6 -5
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 1.2.0 / 2014-07-09
|
2
|
+
- Add handling of font files with extensions: woff, woff2, ttf, eot, otf
|
3
|
+
([#9](https://github.com/eliotsykes/rack-zippy/issues/9))
|
4
|
+
- Handle flash .swf file extension ([#20](https://github.com/eliotsykes/rack-zippy/issues/20))
|
5
|
+
|
1
6
|
## 1.1.0 / 2014-01-26
|
2
7
|
- rack-zippy no longer blocks requests for assets that it cannot find on the filesystem. These
|
3
8
|
requests are now passed on to the app. ([#7](https://github.com/eliotsykes/rack-zippy/issues/7))
|
data/README.md
CHANGED
@@ -9,9 +9,10 @@ rack-zippy replaces the ActionDispatch::Static middleware used by Rails, which i
|
|
9
9
|
the `rake assets:precompile` task. rack-zippy will serve non-gzipped assets where they are not available or not supported by the
|
10
10
|
requesting client.
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
Watch the [Web Dev Break podcast on rack-zippy](http://www.webdevbreak.com/specials/rack-zippy "Faster, friendlier assets with rack-zippy") to see how you can check if your app
|
13
|
+
is currently serving uncompressed assets and how quick it is to setup rack-zippy:
|
14
|
+
|
15
|
+
[  ](http://www.webdevbreak.com/specials/rack-zippy "Faster, friendlier assets with rack-zippy")
|
15
16
|
|
16
17
|
## Installation
|
17
18
|
|
@@ -22,10 +23,18 @@ Add this line to your application's Gemfile:
|
|
22
23
|
And then execute:
|
23
24
|
|
24
25
|
$ bundle
|
26
|
+
|
27
|
+
In `config/environments/production.rb`, set `config.serve_static_assets` to `true`:
|
28
|
+
|
29
|
+
# Puts ActionDispatch::Static in middleware stack which we are going to replace with
|
30
|
+
# Rack::Zippy::AssetServer
|
31
|
+
config.serve_static_assets = true
|
25
32
|
|
26
|
-
|
33
|
+
Create the file `config/initializers/rack_zippy.rb` and put this line in it:
|
27
34
|
|
28
|
-
config.middleware.swap(ActionDispatch::Static, Rack::Zippy::AssetServer)
|
35
|
+
Rails.application.config.middleware.swap(ActionDispatch::Static, Rack::Zippy::AssetServer)
|
36
|
+
|
37
|
+
Now run `rake middleware` at the command line and make sure that `Rack::Zippy::AssetServer` is near the top of the outputted list. ActionDispatch::Static should not be in the list. Nicely done, rack-zippy is now installed in your app.
|
29
38
|
|
30
39
|
## Usage
|
31
40
|
|
@@ -45,15 +54,23 @@ Check your environment (in config/environments/) does not have `serve_static_ass
|
|
45
54
|
1. Fork it
|
46
55
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
47
56
|
3. Run tests (`rake test`)
|
48
|
-
|
49
|
-
|
50
|
-
|
57
|
+
4. Commit your changes (`git commit -am 'Add some feature'`)
|
58
|
+
5. Push to the branch (`git push origin my-new-feature`)
|
59
|
+
6. Create new Pull Request
|
60
|
+
|
61
|
+
## Contributors
|
62
|
+
|
63
|
+
- [Eliot Sykes](https://github.com/eliotsykes)
|
64
|
+
- [Kieran Topping](https://github.com/ktopping)
|
65
|
+
- [Luke Wendling](https://github.com/lukewendling)
|
66
|
+
|
51
67
|
|
52
68
|
## Releasing a new gem
|
53
69
|
|
54
70
|
1. Update pre-release version to the release version in lib/rack-zippy/version.rb, e.g. '1.0.1.pre' becomes '1.0.1'
|
55
|
-
2. Update CHANGELOG.md
|
71
|
+
2. Update CHANGELOG.md and Contributors in README.md
|
56
72
|
3. Tests pass? (`rake test`)
|
57
73
|
4. Build the gem (`rake build`)
|
58
74
|
5. Release on rubygems.org (`rake release`)
|
59
75
|
6. Update version to the next pre-release version in lib/rack-zippy/version.rb, e.g. '1.0.1' becomes '1.0.2.pre'
|
76
|
+
|
data/lib/rack-zippy.rb
CHANGED
@@ -47,7 +47,8 @@ module Rack
|
|
47
47
|
:year => 365*(24*60*60)
|
48
48
|
}.freeze
|
49
49
|
|
50
|
-
|
50
|
+
# Font extensions: woff, woff2, ttf, eot, otf
|
51
|
+
STATIC_EXTENSION_REGEX = /\.(?:css|js|html|htm|txt|ico|png|jpg|jpeg|gif|pdf|svg|zip|gz|eps|psd|ai|woff|woff2|ttf|eot|otf|swf)\z/i
|
51
52
|
|
52
53
|
PRECOMPILED_ASSETS_SUBDIR_REGEX = /\A\/assets(?:\/|\z)/
|
53
54
|
|
data/lib/rack-zippy/version.rb
CHANGED
data/test/asset_server_test.rb
CHANGED
@@ -230,6 +230,19 @@ class Rack::Zippy::AssetServerTest < Test::Unit::TestCase
|
|
230
230
|
end
|
231
231
|
end
|
232
232
|
|
233
|
+
def test_has_static_extension_returns_true_for_fonts
|
234
|
+
font_extensions = ['woff', 'woff2', 'ttf', 'eot', 'otf']
|
235
|
+
font_extensions.each do |extension|
|
236
|
+
assert app.send(:has_static_extension?, "/comic-sans.#{extension}"),
|
237
|
+
"'#{extension}' font extension not recognized"
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
def test_has_static_extension_returns_true_for_flash
|
242
|
+
assert app.send(:has_static_extension?, '/splash-page-like-its-1999.swf'),
|
243
|
+
"Should handle flash .swf files"
|
244
|
+
end
|
245
|
+
|
233
246
|
def test_passes_non_asset_requests_onto_app
|
234
247
|
get '/about'
|
235
248
|
assert_underlying_app_responded
|
data/video-player.png
ADDED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-zippy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-07-09 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Rack middleware for serving static gzipped assets generated by the Rails
|
15
15
|
asset pipeline
|
@@ -40,6 +40,7 @@ files:
|
|
40
40
|
- test/public/robots.txt
|
41
41
|
- test/public/thanks.html
|
42
42
|
- test/test_helper.rb
|
43
|
+
- video-player.png
|
43
44
|
homepage: https://github.com/eliotsykes/rack-zippy
|
44
45
|
licenses:
|
45
46
|
- MIT
|
@@ -55,7 +56,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
55
56
|
version: '0'
|
56
57
|
segments:
|
57
58
|
- 0
|
58
|
-
hash:
|
59
|
+
hash: 2186381762254847347
|
59
60
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
61
|
none: false
|
61
62
|
requirements:
|
@@ -64,10 +65,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
65
|
version: '0'
|
65
66
|
segments:
|
66
67
|
- 0
|
67
|
-
hash:
|
68
|
+
hash: 2186381762254847347
|
68
69
|
requirements: []
|
69
70
|
rubyforge_project:
|
70
|
-
rubygems_version: 1.8.23
|
71
|
+
rubygems_version: 1.8.23.2
|
71
72
|
signing_key:
|
72
73
|
specification_version: 3
|
73
74
|
summary: Rack middleware for serving static gzipped assets generated by the Rails
|