assets_booster 0.0.6 → 0.0.7
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/asset_booster.gemspec +2 -3
- data/lib/assets_booster/package/base.rb +2 -3
- data/lib/assets_booster/package/javascript.rb +6 -2
- data/lib/assets_booster/package/stylesheet.rb +6 -2
- data/lib/assets_booster/version.rb +1 -1
- data/lib/assets_booster/view_helper.rb +6 -4
- data/spec/package/base.rb +13 -3
- data/spec/package/javascript_spec.rb +26 -0
- data/spec/package/stylesheet_spec.rb +26 -0
- data/spec/packager_spec.rb +3 -3
- data/spec/view_helper_spec.rb +14 -2
- metadata +9 -46
data/asset_booster.gemspec
CHANGED
@@ -21,9 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
|
22
22
|
s.add_dependency "rails", "~>3.0.5"
|
23
23
|
s.add_dependency "rainpress", "~>1.0"
|
24
|
-
s.add_dependency "yui-compressor", "~>0.9.
|
25
|
-
s.add_dependency "yui-compressor", ">=0.9.6"
|
24
|
+
s.add_dependency "yui-compressor", "~>0.9.6"
|
26
25
|
|
27
26
|
s.add_development_dependency "rspec", "~>2.5.0"
|
27
|
+
s.add_development_dependency "rspec-rails", "~>2.5.0"
|
28
28
|
end
|
29
|
-
|
@@ -51,9 +51,8 @@ module AssetsBooster
|
|
51
51
|
save(code)
|
52
52
|
end
|
53
53
|
|
54
|
-
def
|
55
|
-
|
56
|
-
[view_helper_method, sources]
|
54
|
+
def view_helper_sources
|
55
|
+
AssetsBooster::Railtie.packager.boosted_environment? ? [name] : assets
|
57
56
|
end
|
58
57
|
|
59
58
|
private
|
@@ -11,8 +11,12 @@ module AssetsBooster
|
|
11
11
|
path = File.join(path, name+".js") if name
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
15
|
-
:
|
14
|
+
def view_helper(view, options)
|
15
|
+
if options[:inline]
|
16
|
+
view.javascript_tag(read(assets))
|
17
|
+
else
|
18
|
+
view.javascript_include_tag(view_helper_sources, options)
|
19
|
+
end
|
16
20
|
end
|
17
21
|
end
|
18
22
|
end
|
@@ -11,8 +11,12 @@ module AssetsBooster
|
|
11
11
|
path = File.join(path, name+".css") if name
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
15
|
-
:
|
14
|
+
def view_helper(view, options)
|
15
|
+
if options[:inline]
|
16
|
+
view.style_tag(read(assets))
|
17
|
+
else
|
18
|
+
view.stylesheet_link_tag(view_helper_sources, options)
|
19
|
+
end
|
16
20
|
end
|
17
21
|
end
|
18
22
|
end
|
@@ -1,12 +1,14 @@
|
|
1
1
|
module AssetsBooster
|
2
2
|
module ViewHelper
|
3
|
+
def style_tag(css)
|
4
|
+
content_tag(:style, css, :type => Mime::CSS)
|
5
|
+
end
|
6
|
+
|
3
7
|
def assets_booster_tag(type, *names)
|
4
8
|
options = names.extract_options!
|
5
|
-
|
6
|
-
packages = packager.packages[type]
|
9
|
+
packages = AssetsBooster::Railtie.packager.packages[type]
|
7
10
|
html = names.map do |name|
|
8
|
-
|
9
|
-
send(methode, sources, options)
|
11
|
+
packages[name].view_helper(self, options)
|
10
12
|
end*"\n"
|
11
13
|
html.html_safe
|
12
14
|
end
|
data/spec/package/base.rb
CHANGED
@@ -15,9 +15,19 @@ module AssetsBooster
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
describe "
|
19
|
-
|
20
|
-
|
18
|
+
describe "view_helper_sources" do
|
19
|
+
before do
|
20
|
+
AssetsBooster::Railtie.packager = double("Packager")
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should return a the package if running in a boosted environment" do
|
24
|
+
AssetsBooster::Railtie.packager.should_receive(:boosted_environment?).and_return(true)
|
25
|
+
subject.view_helper_sources.should == [subject.name]
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should return the package's sources if running in a non-boosted environment" do
|
29
|
+
AssetsBooster::Railtie.packager.should_receive(:boosted_environment?).and_return(false)
|
30
|
+
subject.view_helper_sources.should == subject.assets
|
21
31
|
end
|
22
32
|
end
|
23
33
|
end
|
@@ -9,6 +9,32 @@ module AssetsBooster
|
|
9
9
|
subject.asset_path("lala").should match(/javascripts\/lala\.js/)
|
10
10
|
end
|
11
11
|
end
|
12
|
+
|
13
|
+
describe "view_helper" do
|
14
|
+
before do
|
15
|
+
@view = double("View")
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "with the inline option enabled" do
|
19
|
+
it "should return a javascript tag with inline javascript" do
|
20
|
+
assets = ["a.js", "b.js", "c.js"]
|
21
|
+
subject.stub(:assets).and_return(assets)
|
22
|
+
subject.should_receive(:read).with(assets).and_return("javascript code")
|
23
|
+
@view.should_receive(:javascript_tag).with("javascript code")
|
24
|
+
subject.view_helper(@view, :inline => true)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "with no options" do
|
29
|
+
it "should return html tags" do
|
30
|
+
options = {}
|
31
|
+
sources = ["source1.js", "source2.js"]
|
32
|
+
subject.should_receive(:view_helper_sources).and_return(sources)
|
33
|
+
@view.should_receive(:javascript_include_tag).with(sources, options)
|
34
|
+
subject.view_helper(@view, options)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
12
38
|
end
|
13
39
|
end
|
14
40
|
end
|
@@ -9,6 +9,32 @@ module AssetsBooster
|
|
9
9
|
subject.asset_path("lala").should match(/stylesheets\/lala\.css/)
|
10
10
|
end
|
11
11
|
end
|
12
|
+
|
13
|
+
describe "view_helper" do
|
14
|
+
before do
|
15
|
+
@view = double("View")
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "with the inline option enabled" do
|
19
|
+
it "should return a style tag with inline css" do
|
20
|
+
assets = ["a.css", "b.css", "c.css"]
|
21
|
+
subject.stub(:assets).and_return(assets)
|
22
|
+
subject.should_receive(:read).with(assets).and_return("css code")
|
23
|
+
@view.should_receive(:style_tag).with("css code")
|
24
|
+
subject.view_helper(@view, :inline => true)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "with no options" do
|
29
|
+
it "should return html tags" do
|
30
|
+
options = {}
|
31
|
+
sources = ["source1.css", "source2.css"]
|
32
|
+
subject.should_receive(:view_helper_sources).and_return(sources)
|
33
|
+
@view.should_receive(:stylesheet_link_tag).with(sources, options)
|
34
|
+
subject.view_helper(@view, options)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
12
38
|
end
|
13
39
|
end
|
14
40
|
end
|
data/spec/packager_spec.rb
CHANGED
@@ -33,12 +33,12 @@ module AssetsBooster
|
|
33
33
|
it "should compile all assets of all packages" do
|
34
34
|
YAML.should_receive(:load_file).with(subject.configuration_filename).and_return(
|
35
35
|
'packages' => {
|
36
|
-
'javascript' => {
|
37
|
-
'base' => %w(jquery rails),
|
38
|
-
},
|
39
36
|
'stylesheet' => {
|
40
37
|
'base' => %w(screen),
|
41
38
|
},
|
39
|
+
'javascript' => {
|
40
|
+
'base' => %w(jquery rails),
|
41
|
+
},
|
42
42
|
},
|
43
43
|
'options' => {
|
44
44
|
'javascript' => {
|
data/spec/view_helper_spec.rb
CHANGED
@@ -1,10 +1,22 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'assets_booster/view_helper'
|
3
3
|
module AssetsBooster
|
4
|
-
describe ViewHelper do
|
4
|
+
describe ViewHelper, :type => :helper do
|
5
|
+
describe "style_tag" do
|
6
|
+
it "should return a style tag with inline css" do
|
7
|
+
pending "don't know how to write view helper specs"
|
8
|
+
puts helper.style_tag("body{background:#ff0}")
|
9
|
+
helper.style_tag("body{background:#ff0}").should == <<-EOT
|
10
|
+
<style type="text/css">
|
11
|
+
body{background:#ff0}
|
12
|
+
</style>
|
13
|
+
EOT
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
5
17
|
describe "assets_booster_tag" do
|
6
18
|
it "should return html tags" do
|
7
|
-
pending
|
19
|
+
pending "don't know how to write view helper specs"
|
8
20
|
end
|
9
21
|
end
|
10
22
|
end
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assets_booster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 19
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 6
|
10
|
-
version: 0.0.6
|
5
|
+
version: 0.0.7
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Corin Langosch
|
@@ -15,8 +10,7 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-04-
|
19
|
-
default_executable:
|
13
|
+
date: 2011-04-13 00:00:00 Z
|
20
14
|
dependencies:
|
21
15
|
- !ruby/object:Gem::Dependency
|
22
16
|
name: rails
|
@@ -26,11 +20,6 @@ dependencies:
|
|
26
20
|
requirements:
|
27
21
|
- - ~>
|
28
22
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 13
|
30
|
-
segments:
|
31
|
-
- 3
|
32
|
-
- 0
|
33
|
-
- 5
|
34
23
|
version: 3.0.5
|
35
24
|
type: :runtime
|
36
25
|
version_requirements: *id001
|
@@ -42,10 +31,6 @@ dependencies:
|
|
42
31
|
requirements:
|
43
32
|
- - ~>
|
44
33
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 15
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 0
|
49
34
|
version: "1.0"
|
50
35
|
type: :runtime
|
51
36
|
version_requirements: *id002
|
@@ -57,43 +42,28 @@ dependencies:
|
|
57
42
|
requirements:
|
58
43
|
- - ~>
|
59
44
|
- !ruby/object:Gem::Version
|
60
|
-
|
61
|
-
segments:
|
62
|
-
- 0
|
63
|
-
- 9
|
64
|
-
- 4
|
65
|
-
version: 0.9.4
|
45
|
+
version: 0.9.6
|
66
46
|
type: :runtime
|
67
47
|
version_requirements: *id003
|
68
48
|
- !ruby/object:Gem::Dependency
|
69
|
-
name:
|
49
|
+
name: rspec
|
70
50
|
prerelease: false
|
71
51
|
requirement: &id004 !ruby/object:Gem::Requirement
|
72
52
|
none: false
|
73
53
|
requirements:
|
74
|
-
- -
|
54
|
+
- - ~>
|
75
55
|
- !ruby/object:Gem::Version
|
76
|
-
|
77
|
-
|
78
|
-
- 0
|
79
|
-
- 9
|
80
|
-
- 6
|
81
|
-
version: 0.9.6
|
82
|
-
type: :runtime
|
56
|
+
version: 2.5.0
|
57
|
+
type: :development
|
83
58
|
version_requirements: *id004
|
84
59
|
- !ruby/object:Gem::Dependency
|
85
|
-
name: rspec
|
60
|
+
name: rspec-rails
|
86
61
|
prerelease: false
|
87
62
|
requirement: &id005 !ruby/object:Gem::Requirement
|
88
63
|
none: false
|
89
64
|
requirements:
|
90
65
|
- - ~>
|
91
66
|
- !ruby/object:Gem::Version
|
92
|
-
hash: 27
|
93
|
-
segments:
|
94
|
-
- 2
|
95
|
-
- 5
|
96
|
-
- 0
|
97
67
|
version: 2.5.0
|
98
68
|
type: :development
|
99
69
|
version_requirements: *id005
|
@@ -153,7 +123,6 @@ files:
|
|
153
123
|
- spec/packager_spec.rb
|
154
124
|
- spec/spec_helper.rb
|
155
125
|
- spec/view_helper_spec.rb
|
156
|
-
has_rdoc: true
|
157
126
|
homepage: http://github.com/gucki/assets_booster
|
158
127
|
licenses: []
|
159
128
|
|
@@ -167,23 +136,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
167
136
|
requirements:
|
168
137
|
- - ">="
|
169
138
|
- !ruby/object:Gem::Version
|
170
|
-
hash: 3
|
171
|
-
segments:
|
172
|
-
- 0
|
173
139
|
version: "0"
|
174
140
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
141
|
none: false
|
176
142
|
requirements:
|
177
143
|
- - ">="
|
178
144
|
- !ruby/object:Gem::Version
|
179
|
-
hash: 3
|
180
|
-
segments:
|
181
|
-
- 0
|
182
145
|
version: "0"
|
183
146
|
requirements: []
|
184
147
|
|
185
148
|
rubyforge_project: assets_booster
|
186
|
-
rubygems_version: 1.
|
149
|
+
rubygems_version: 1.7.2
|
187
150
|
signing_key:
|
188
151
|
specification_version: 3
|
189
152
|
summary: Assets (javascripts, css) compression for rails applications
|