rack-pagespeed 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -1
- data/Gemfile.lock +0 -1
- data/VERSION +1 -1
- data/lib/rack/pagespeed.rb +1 -2
- data/lib/rack/pagespeed/filters/all.rb +1 -0
- data/lib/rack/pagespeed/filters/base.rb +9 -2
- data/lib/rack/pagespeed/filters/combine_css.rb +1 -1
- data/lib/rack/pagespeed/filters/combine_javascripts.rb +1 -1
- data/lib/rack/pagespeed/filters/inline_css.rb +1 -1
- data/lib/rack/pagespeed/filters/inline_images.rb +17 -0
- data/rack-pagespeed.gemspec +152 -0
- data/spec/filters/filter_spec.rb +8 -3
- data/spec/filters/inline_images_spec.rb +28 -0
- data/spec/fixtures/all-small-dog-breeds.jpg +0 -0
- data/spec/fixtures/complex.html +1 -1
- metadata +27 -37
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/rack/pagespeed.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'rack'
|
2
2
|
require 'nokogiri'
|
3
|
-
require 'mime/types'
|
4
3
|
|
5
4
|
module Rack
|
6
5
|
class PageSpeed
|
@@ -35,7 +34,7 @@ module Rack
|
|
35
34
|
if asset = store[asset_id]
|
36
35
|
[
|
37
36
|
200,
|
38
|
-
{ 'Content-Type' => (
|
37
|
+
{ 'Content-Type' => (Rack::Mime.mime_type(::File.extname(asset_id))) },
|
39
38
|
[asset]
|
40
39
|
]
|
41
40
|
else
|
@@ -44,8 +44,15 @@ module Rack::PageSpeed::Filters
|
|
44
44
|
|
45
45
|
private
|
46
46
|
def file_for node
|
47
|
-
path = ::File.join
|
48
|
-
|
47
|
+
path = ::File.join options[:public], case node.name
|
48
|
+
when 'script'
|
49
|
+
node['src']
|
50
|
+
when 'img'
|
51
|
+
node['src']
|
52
|
+
when 'link'
|
53
|
+
node['href']
|
54
|
+
end
|
55
|
+
::File.open path if ::File.exists? path
|
49
56
|
end
|
50
57
|
end
|
51
58
|
# shortcut
|
@@ -4,7 +4,7 @@ rescue LoadError
|
|
4
4
|
require 'digest/md5'
|
5
5
|
end
|
6
6
|
|
7
|
-
class Rack::PageSpeed::Filters::CombineJavaScripts < Rack::PageSpeed::
|
7
|
+
class Rack::PageSpeed::Filters::CombineJavaScripts < Rack::PageSpeed::Filter
|
8
8
|
requires_store
|
9
9
|
name 'combine_javascripts'
|
10
10
|
priority 2
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class Rack::PageSpeed::Filters::InlineImages < Rack::PageSpeed::Filter
|
2
|
+
priority 8
|
3
|
+
|
4
|
+
def execute! document
|
5
|
+
nodes = document.css('img')
|
6
|
+
return false unless nodes.count > 0
|
7
|
+
nodes.each do |node|
|
8
|
+
file = file_for node
|
9
|
+
next if !file or file.stat.size > (@options[:max_size] or 1024)
|
10
|
+
img = node.clone
|
11
|
+
img['src'] = "data:#{Rack::Mime.mime_type(File.extname(file.path))};base64,#{[file.read].pack('m')}"
|
12
|
+
img['alt'] = node['alt'] if node['alt']
|
13
|
+
node.before img
|
14
|
+
node.remove
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,152 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{rack-pagespeed}
|
8
|
+
s.version = "0.2.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Julio Cesar Ody"]
|
12
|
+
s.date = %q{2011-01-10}
|
13
|
+
s.description = %q{Web page speed optimizations at the Rack level}
|
14
|
+
s.email = %q{julio@awesomebydesign.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"README.md"
|
17
|
+
]
|
18
|
+
s.files = [
|
19
|
+
"Gemfile",
|
20
|
+
"Gemfile.lock",
|
21
|
+
"README.md",
|
22
|
+
"Rakefile",
|
23
|
+
"VERSION",
|
24
|
+
"lib/rack-pagespeed.rb",
|
25
|
+
"lib/rack/pagespeed.rb",
|
26
|
+
"lib/rack/pagespeed/config.rb",
|
27
|
+
"lib/rack/pagespeed/filters/all.rb",
|
28
|
+
"lib/rack/pagespeed/filters/base.rb",
|
29
|
+
"lib/rack/pagespeed/filters/combine_css.rb",
|
30
|
+
"lib/rack/pagespeed/filters/combine_javascripts.rb",
|
31
|
+
"lib/rack/pagespeed/filters/inline_css.rb",
|
32
|
+
"lib/rack/pagespeed/filters/inline_images.rb",
|
33
|
+
"lib/rack/pagespeed/filters/inline_javascripts.rb",
|
34
|
+
"lib/rack/pagespeed/filters/minify_javascripts.rb",
|
35
|
+
"lib/rack/pagespeed/store/all.rb",
|
36
|
+
"lib/rack/pagespeed/store/disk.rb",
|
37
|
+
"lib/rack/pagespeed/store/memcached.rb",
|
38
|
+
"rack-pagespeed.gemspec",
|
39
|
+
"spec/config_spec.rb",
|
40
|
+
"spec/filters/combine_css_spec.rb",
|
41
|
+
"spec/filters/combine_javascripts_spec.rb",
|
42
|
+
"spec/filters/filter_spec.rb",
|
43
|
+
"spec/filters/inline_css_spec.rb",
|
44
|
+
"spec/filters/inline_images_spec.rb",
|
45
|
+
"spec/filters/inline_javascript_spec.rb",
|
46
|
+
"spec/filters/minify_javascript_spec.rb",
|
47
|
+
"spec/fixtures/all-small-dog-breeds.jpg",
|
48
|
+
"spec/fixtures/complex.html",
|
49
|
+
"spec/fixtures/foo.js",
|
50
|
+
"spec/fixtures/hh-reset.css",
|
51
|
+
"spec/fixtures/huge.css",
|
52
|
+
"spec/fixtures/iphone.css",
|
53
|
+
"spec/fixtures/jquery-1.4.1.min.js",
|
54
|
+
"spec/fixtures/medialess1.css",
|
55
|
+
"spec/fixtures/medialess2.css",
|
56
|
+
"spec/fixtures/mylib.js",
|
57
|
+
"spec/fixtures/noexternalcss.html",
|
58
|
+
"spec/fixtures/noscripts.html",
|
59
|
+
"spec/fixtures/ohno.js",
|
60
|
+
"spec/fixtures/reset.css",
|
61
|
+
"spec/fixtures/screen.css",
|
62
|
+
"spec/fixtures/styles.html",
|
63
|
+
"spec/fixtures/zecoolwebsite/css/awesomebydesign.css",
|
64
|
+
"spec/fixtures/zecoolwebsite/css/reset.css",
|
65
|
+
"spec/fixtures/zecoolwebsite/img/bg-idevice.png",
|
66
|
+
"spec/fixtures/zecoolwebsite/img/bg.png",
|
67
|
+
"spec/fixtures/zecoolwebsite/img/bottom-left-arrow.png",
|
68
|
+
"spec/fixtures/zecoolwebsite/img/bottom-right-arrow.png",
|
69
|
+
"spec/fixtures/zecoolwebsite/img/consulting-arrow.png",
|
70
|
+
"spec/fixtures/zecoolwebsite/img/design-arrow.png",
|
71
|
+
"spec/fixtures/zecoolwebsite/img/prototyping-arrow.png",
|
72
|
+
"spec/fixtures/zecoolwebsite/img/top-left-arrow.png",
|
73
|
+
"spec/fixtures/zecoolwebsite/img/top-right-arrow.png",
|
74
|
+
"spec/fixtures/zecoolwebsite/img/webdev-arrow.png",
|
75
|
+
"spec/fixtures/zecoolwebsite/index.html",
|
76
|
+
"spec/fixtures/zecoolwebsite/js/awesomebydesign.js",
|
77
|
+
"spec/fixtures/zecoolwebsite/js/jquery-1.4.2.min.js",
|
78
|
+
"spec/fixtures/zecoolwebsite/js/modernizr-1.5.min.js",
|
79
|
+
"spec/fixtures/zecoolwebsite/js/sayhi.js",
|
80
|
+
"spec/integration/integration_spec.rb",
|
81
|
+
"spec/pagespeed_spec.rb",
|
82
|
+
"spec/spec_helper.rb",
|
83
|
+
"spec/store/disk_spec.rb",
|
84
|
+
"spec/store/memcached_spec.rb"
|
85
|
+
]
|
86
|
+
s.homepage = %q{http://github.com/juliocesar/rack-pagespeed}
|
87
|
+
s.require_paths = ["lib"]
|
88
|
+
s.rubygems_version = %q{1.3.7}
|
89
|
+
s.summary = %q{Web page speed optimizations at the Rack level}
|
90
|
+
s.test_files = [
|
91
|
+
"spec/config_spec.rb",
|
92
|
+
"spec/filters/combine_css_spec.rb",
|
93
|
+
"spec/filters/combine_javascripts_spec.rb",
|
94
|
+
"spec/filters/filter_spec.rb",
|
95
|
+
"spec/filters/inline_css_spec.rb",
|
96
|
+
"spec/filters/inline_images_spec.rb",
|
97
|
+
"spec/filters/inline_javascript_spec.rb",
|
98
|
+
"spec/filters/minify_javascript_spec.rb",
|
99
|
+
"spec/integration/integration_spec.rb",
|
100
|
+
"spec/pagespeed_spec.rb",
|
101
|
+
"spec/spec_helper.rb",
|
102
|
+
"spec/store/disk_spec.rb",
|
103
|
+
"spec/store/memcached_spec.rb"
|
104
|
+
]
|
105
|
+
|
106
|
+
if s.respond_to? :specification_version then
|
107
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
108
|
+
s.specification_version = 3
|
109
|
+
|
110
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
111
|
+
s.add_runtime_dependency(%q<nokogiri>, ["= 1.4.4"])
|
112
|
+
s.add_runtime_dependency(%q<rack>, ["= 1.2.1"])
|
113
|
+
s.add_runtime_dependency(%q<memcached>, ["= 1.0.2"])
|
114
|
+
s.add_runtime_dependency(%q<jsmin>, ["= 1.0.1"])
|
115
|
+
s.add_runtime_dependency(%q<nokogiri>, ["= 1.4.4"])
|
116
|
+
s.add_runtime_dependency(%q<rack>, ["= 1.2.1"])
|
117
|
+
s.add_runtime_dependency(%q<memcached>, ["= 1.0.2"])
|
118
|
+
s.add_runtime_dependency(%q<mime-types>, ["= 1.16"])
|
119
|
+
s.add_runtime_dependency(%q<jsmin>, ["= 1.0.1"])
|
120
|
+
s.add_development_dependency(%q<rspec>, ["= 2.1.0"])
|
121
|
+
s.add_development_dependency(%q<steak>, ["= 1.0.0"])
|
122
|
+
s.add_development_dependency(%q<capybara>, ["= 0.4.0"])
|
123
|
+
else
|
124
|
+
s.add_dependency(%q<nokogiri>, ["= 1.4.4"])
|
125
|
+
s.add_dependency(%q<rack>, ["= 1.2.1"])
|
126
|
+
s.add_dependency(%q<memcached>, ["= 1.0.2"])
|
127
|
+
s.add_dependency(%q<jsmin>, ["= 1.0.1"])
|
128
|
+
s.add_dependency(%q<nokogiri>, ["= 1.4.4"])
|
129
|
+
s.add_dependency(%q<rack>, ["= 1.2.1"])
|
130
|
+
s.add_dependency(%q<memcached>, ["= 1.0.2"])
|
131
|
+
s.add_dependency(%q<mime-types>, ["= 1.16"])
|
132
|
+
s.add_dependency(%q<jsmin>, ["= 1.0.1"])
|
133
|
+
s.add_dependency(%q<rspec>, ["= 2.1.0"])
|
134
|
+
s.add_dependency(%q<steak>, ["= 1.0.0"])
|
135
|
+
s.add_dependency(%q<capybara>, ["= 0.4.0"])
|
136
|
+
end
|
137
|
+
else
|
138
|
+
s.add_dependency(%q<nokogiri>, ["= 1.4.4"])
|
139
|
+
s.add_dependency(%q<rack>, ["= 1.2.1"])
|
140
|
+
s.add_dependency(%q<memcached>, ["= 1.0.2"])
|
141
|
+
s.add_dependency(%q<jsmin>, ["= 1.0.1"])
|
142
|
+
s.add_dependency(%q<nokogiri>, ["= 1.4.4"])
|
143
|
+
s.add_dependency(%q<rack>, ["= 1.2.1"])
|
144
|
+
s.add_dependency(%q<memcached>, ["= 1.0.2"])
|
145
|
+
s.add_dependency(%q<mime-types>, ["= 1.16"])
|
146
|
+
s.add_dependency(%q<jsmin>, ["= 1.0.1"])
|
147
|
+
s.add_dependency(%q<rspec>, ["= 2.1.0"])
|
148
|
+
s.add_dependency(%q<steak>, ["= 1.0.0"])
|
149
|
+
s.add_dependency(%q<capybara>, ["= 0.4.0"])
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
data/spec/filters/filter_spec.rb
CHANGED
@@ -8,20 +8,20 @@ describe 'the base filter class' do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'when subclassing, it adds the new class to the #available_filters list' do
|
11
|
-
class Moo < Rack::PageSpeed::
|
11
|
+
class Moo < Rack::PageSpeed::Filter; end
|
12
12
|
Rack::PageSpeed::Filters::Base.available_filters.should include(Moo)
|
13
13
|
end
|
14
14
|
|
15
15
|
context 'the #name declaration, which can be used to declare a name which the filter can be called upon' do
|
16
16
|
it 'can be called from inside the class' do
|
17
|
-
class Boo < Rack::PageSpeed::
|
17
|
+
class Boo < Rack::PageSpeed::Filter
|
18
18
|
name 'mooers'
|
19
19
|
end
|
20
20
|
Boo.name.should == 'mooers'
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'defaults to the class name if not called' do
|
24
|
-
class BananaSmoothie < Rack::PageSpeed::
|
24
|
+
class BananaSmoothie < Rack::PageSpeed::Filter; end
|
25
25
|
BananaSmoothie.name.should == 'banana_smoothie'
|
26
26
|
end
|
27
27
|
end
|
@@ -53,5 +53,10 @@ describe 'the base filter class' do
|
|
53
53
|
style = Fixtures.complex.at_css('link')
|
54
54
|
@base.send(:file_for, style).stat.size.should == File.size(File.join(Fixtures.path, 'reset.css'))
|
55
55
|
end
|
56
|
+
|
57
|
+
it "for an image" do
|
58
|
+
image = Fixtures.complex.at_css('img[src="all-small-dog-breeds.jpg"]')
|
59
|
+
@base.send(:file_for, image).stat.size.should == File.size(File.join(Fixtures.path, 'all-small-dog-breeds.jpg'))
|
60
|
+
end
|
56
61
|
end
|
57
62
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe 'the inline_css filter' do
|
4
|
+
it "is called \"inline_images\" as far as Config is concerned" do
|
5
|
+
Rack::PageSpeed::Filters::InlineImages.name.should == 'inline_images'
|
6
|
+
end
|
7
|
+
|
8
|
+
it "is a priority 8 filter" do
|
9
|
+
Rack::PageSpeed::Filters::InlineImages.priority.should == 8
|
10
|
+
end
|
11
|
+
|
12
|
+
context "#execute!" do
|
13
|
+
before :each do
|
14
|
+
@filter = Rack::PageSpeed::Filters::InlineImages.new :public => Fixtures.path, :max_size => 2048
|
15
|
+
@document = Fixtures.complex
|
16
|
+
@filter.execute! @document
|
17
|
+
end
|
18
|
+
|
19
|
+
it "returns false if there are no images in the document" do
|
20
|
+
Rack::PageSpeed::Filters::InlineImages.new(:public => Fixtures.path).execute!(Fixtures.noexternalcss).should be_false
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'inlines images files that are smaller than 1kb in size by default using data URI' do
|
24
|
+
image = fixture 'all-small-dog-breeds.jpg'
|
25
|
+
@document.at_css('img:last')['src'].should == "data:image/jpeg;base64,#{[image].pack('m')}"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
Binary file
|
data/spec/fixtures/complex.html
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
<p>A fixture page</p>
|
16
16
|
<p>With 2 paragraphs<p>
|
17
17
|
<img src="/foobar.jpg" />
|
18
|
-
<img src="
|
18
|
+
<img src="all-small-dog-breeds.jpg" />
|
19
19
|
<p id="test">A test paragraph</p>
|
20
20
|
<p id="foo">Foo bar</p>
|
21
21
|
<div id="footer">And a footer, in poorly semantic HTML</div>
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-pagespeed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 2
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Julio Cesar Ody
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-01-10 00:00:00 +11:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -66,25 +66,10 @@ dependencies:
|
|
66
66
|
version: 1.0.2
|
67
67
|
type: :runtime
|
68
68
|
version_requirements: *id003
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: mime-types
|
71
|
-
prerelease: false
|
72
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - "="
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
hash: 47
|
78
|
-
segments:
|
79
|
-
- 1
|
80
|
-
- 16
|
81
|
-
version: "1.16"
|
82
|
-
type: :runtime
|
83
|
-
version_requirements: *id004
|
84
69
|
- !ruby/object:Gem::Dependency
|
85
70
|
name: jsmin
|
86
71
|
prerelease: false
|
87
|
-
requirement: &
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
88
73
|
none: false
|
89
74
|
requirements:
|
90
75
|
- - "="
|
@@ -96,11 +81,11 @@ dependencies:
|
|
96
81
|
- 1
|
97
82
|
version: 1.0.1
|
98
83
|
type: :runtime
|
99
|
-
version_requirements: *
|
84
|
+
version_requirements: *id004
|
100
85
|
- !ruby/object:Gem::Dependency
|
101
86
|
name: nokogiri
|
102
87
|
prerelease: false
|
103
|
-
requirement: &
|
88
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
104
89
|
none: false
|
105
90
|
requirements:
|
106
91
|
- - "="
|
@@ -112,11 +97,11 @@ dependencies:
|
|
112
97
|
- 4
|
113
98
|
version: 1.4.4
|
114
99
|
type: :runtime
|
115
|
-
version_requirements: *
|
100
|
+
version_requirements: *id005
|
116
101
|
- !ruby/object:Gem::Dependency
|
117
102
|
name: rack
|
118
103
|
prerelease: false
|
119
|
-
requirement: &
|
104
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
120
105
|
none: false
|
121
106
|
requirements:
|
122
107
|
- - "="
|
@@ -128,11 +113,11 @@ dependencies:
|
|
128
113
|
- 1
|
129
114
|
version: 1.2.1
|
130
115
|
type: :runtime
|
131
|
-
version_requirements: *
|
116
|
+
version_requirements: *id006
|
132
117
|
- !ruby/object:Gem::Dependency
|
133
118
|
name: memcached
|
134
119
|
prerelease: false
|
135
|
-
requirement: &
|
120
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
136
121
|
none: false
|
137
122
|
requirements:
|
138
123
|
- - "="
|
@@ -144,11 +129,11 @@ dependencies:
|
|
144
129
|
- 2
|
145
130
|
version: 1.0.2
|
146
131
|
type: :runtime
|
147
|
-
version_requirements: *
|
132
|
+
version_requirements: *id007
|
148
133
|
- !ruby/object:Gem::Dependency
|
149
134
|
name: mime-types
|
150
135
|
prerelease: false
|
151
|
-
requirement: &
|
136
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
152
137
|
none: false
|
153
138
|
requirements:
|
154
139
|
- - "="
|
@@ -159,11 +144,11 @@ dependencies:
|
|
159
144
|
- 16
|
160
145
|
version: "1.16"
|
161
146
|
type: :runtime
|
162
|
-
version_requirements: *
|
147
|
+
version_requirements: *id008
|
163
148
|
- !ruby/object:Gem::Dependency
|
164
149
|
name: jsmin
|
165
150
|
prerelease: false
|
166
|
-
requirement: &
|
151
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
167
152
|
none: false
|
168
153
|
requirements:
|
169
154
|
- - "="
|
@@ -175,11 +160,11 @@ dependencies:
|
|
175
160
|
- 1
|
176
161
|
version: 1.0.1
|
177
162
|
type: :runtime
|
178
|
-
version_requirements: *
|
163
|
+
version_requirements: *id009
|
179
164
|
- !ruby/object:Gem::Dependency
|
180
165
|
name: rspec
|
181
166
|
prerelease: false
|
182
|
-
requirement: &
|
167
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
183
168
|
none: false
|
184
169
|
requirements:
|
185
170
|
- - "="
|
@@ -191,11 +176,11 @@ dependencies:
|
|
191
176
|
- 0
|
192
177
|
version: 2.1.0
|
193
178
|
type: :development
|
194
|
-
version_requirements: *
|
179
|
+
version_requirements: *id010
|
195
180
|
- !ruby/object:Gem::Dependency
|
196
181
|
name: steak
|
197
182
|
prerelease: false
|
198
|
-
requirement: &
|
183
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
199
184
|
none: false
|
200
185
|
requirements:
|
201
186
|
- - "="
|
@@ -207,11 +192,11 @@ dependencies:
|
|
207
192
|
- 0
|
208
193
|
version: 1.0.0
|
209
194
|
type: :development
|
210
|
-
version_requirements: *
|
195
|
+
version_requirements: *id011
|
211
196
|
- !ruby/object:Gem::Dependency
|
212
197
|
name: capybara
|
213
198
|
prerelease: false
|
214
|
-
requirement: &
|
199
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
215
200
|
none: false
|
216
201
|
requirements:
|
217
202
|
- - "="
|
@@ -223,7 +208,7 @@ dependencies:
|
|
223
208
|
- 0
|
224
209
|
version: 0.4.0
|
225
210
|
type: :development
|
226
|
-
version_requirements: *
|
211
|
+
version_requirements: *id012
|
227
212
|
description: Web page speed optimizations at the Rack level
|
228
213
|
email: julio@awesomebydesign.com
|
229
214
|
executables: []
|
@@ -246,18 +231,22 @@ files:
|
|
246
231
|
- lib/rack/pagespeed/filters/combine_css.rb
|
247
232
|
- lib/rack/pagespeed/filters/combine_javascripts.rb
|
248
233
|
- lib/rack/pagespeed/filters/inline_css.rb
|
234
|
+
- lib/rack/pagespeed/filters/inline_images.rb
|
249
235
|
- lib/rack/pagespeed/filters/inline_javascripts.rb
|
250
236
|
- lib/rack/pagespeed/filters/minify_javascripts.rb
|
251
237
|
- lib/rack/pagespeed/store/all.rb
|
252
238
|
- lib/rack/pagespeed/store/disk.rb
|
253
239
|
- lib/rack/pagespeed/store/memcached.rb
|
240
|
+
- rack-pagespeed.gemspec
|
254
241
|
- spec/config_spec.rb
|
255
242
|
- spec/filters/combine_css_spec.rb
|
256
243
|
- spec/filters/combine_javascripts_spec.rb
|
257
244
|
- spec/filters/filter_spec.rb
|
258
245
|
- spec/filters/inline_css_spec.rb
|
246
|
+
- spec/filters/inline_images_spec.rb
|
259
247
|
- spec/filters/inline_javascript_spec.rb
|
260
248
|
- spec/filters/minify_javascript_spec.rb
|
249
|
+
- spec/fixtures/all-small-dog-breeds.jpg
|
261
250
|
- spec/fixtures/complex.html
|
262
251
|
- spec/fixtures/foo.js
|
263
252
|
- spec/fixtures/hh-reset.css
|
@@ -335,6 +324,7 @@ test_files:
|
|
335
324
|
- spec/filters/combine_javascripts_spec.rb
|
336
325
|
- spec/filters/filter_spec.rb
|
337
326
|
- spec/filters/inline_css_spec.rb
|
327
|
+
- spec/filters/inline_images_spec.rb
|
338
328
|
- spec/filters/inline_javascript_spec.rb
|
339
329
|
- spec/filters/minify_javascript_spec.rb
|
340
330
|
- spec/integration/integration_spec.rb
|