rack-pagespeed 0.1.0 → 0.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/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
|