assets_booster 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,5 +22,6 @@ Gem::Specification.new do |s|
22
22
  s.add_development_dependency "rails", "~>3.0.5"
23
23
  s.add_development_dependency "rspec", "~>2.5.0"
24
24
  s.add_development_dependency "rainpress", "~>1.0"
25
+ s.add_development_dependency "yui-compressor", "~>0.9.4"
25
26
  end
26
27
 
@@ -0,0 +1,18 @@
1
+ module AssetsBooster
2
+ module Compiler
3
+ class YuiCss
4
+ def name
5
+ 'YUI Compressor (CSS)'
6
+ end
7
+
8
+ def compile(code)
9
+ require "yui/compressor"
10
+ compressor = YUI::CssCompressor.new
11
+ compressor.compress(code)
12
+ rescue LoadError => e
13
+ raise LoadError, "To use the YUI JS/CSS Compressor, please install the yui-compressor gem first"
14
+ end
15
+ end
16
+ end
17
+ end
18
+
@@ -0,0 +1,18 @@
1
+ module AssetsBooster
2
+ module Compiler
3
+ class YuiJs
4
+ def name
5
+ 'YUI Compressor (JS)'
6
+ end
7
+
8
+ def compile(code)
9
+ require "yui/compressor"
10
+ compressor = YUI::JavaScriptCompressor.new
11
+ compressor.compress(code)
12
+ rescue LoadError => e
13
+ raise LoadError, "To use the YUI JS/CSS Compressor, please install the yui-compressor gem first"
14
+ end
15
+ end
16
+ end
17
+ end
18
+
@@ -69,7 +69,7 @@ module AssetsBooster
69
69
  'compiler' => "closure",
70
70
  },
71
71
  'stylesheet' => {
72
- 'compiler' => "rainpress",
72
+ 'compiler' => "yui_css",
73
73
  },
74
74
  'environments' => %w(staging production),
75
75
  }
@@ -1,3 +1,3 @@
1
1
  module AssetsBooster
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -5,7 +5,7 @@ module AssetsBooster
5
5
  describe Closure do
6
6
  it_behaves_like "a compiler" do
7
7
  describe "compile" do
8
- it "should compile the source file" do
8
+ it "should compile javascript" do
9
9
  subject.compile("var a = 'test'; alert(a);").should == 'var a="test";alert(a);'
10
10
  end
11
11
  end
@@ -5,7 +5,7 @@ module AssetsBooster
5
5
  describe Dummy do
6
6
  it_behaves_like "a compiler" do
7
7
  describe "compile" do
8
- it "should compile the source file" do
8
+ it "should do nothing" do
9
9
  subject.compile("var a = 'test'; alert(a);").should == "var a = 'test'; alert(a);"
10
10
  end
11
11
  end
@@ -5,7 +5,7 @@ module AssetsBooster
5
5
  describe JSMin do
6
6
  it_behaves_like "a compiler" do
7
7
  describe "compile" do
8
- it "should compile the source file" do
8
+ it "should compile javascript" do
9
9
  subject.compile("var a = 'test'; alert(a);").should == "var a='test';alert(a);"
10
10
  end
11
11
  end
@@ -5,8 +5,11 @@ module AssetsBooster
5
5
  describe Rainpress do
6
6
  it_behaves_like "a compiler" do
7
7
  describe "compile" do
8
- it "should compile the source file" do
8
+ it "should compile css" do
9
9
  subject.compile("{ color: #ff0000; }").should == "{color:red}"
10
+ pending "rainpress is buggy, see https://github.com/sprsquish/rainpress/issues/1" do
11
+ subject.compile("a.en{background-position:0px 0px}").should == "a.en{background-position:0 0}"
12
+ end
10
13
  end
11
14
  end
12
15
  end
@@ -5,7 +5,7 @@ module AssetsBooster
5
5
  describe Uglify do
6
6
  it_behaves_like "a compiler" do
7
7
  describe "compile" do
8
- it "should compile the source file" do
8
+ it "should compile javascript" do
9
9
  subject.compile("var a = 'test'; alert(a);").should == 'var a="test";alert(a)'
10
10
  end
11
11
  end
@@ -0,0 +1,17 @@
1
+ require 'compiler/base'
2
+ require 'assets_booster/compiler/yui_css'
3
+ module AssetsBooster
4
+ module Compiler
5
+ describe YuiCss do
6
+ it_behaves_like "a compiler" do
7
+ describe "compile" do
8
+ it "should compile css" do
9
+ subject.compile("{ color: #ff0000; }").should == "{color:#f00}"
10
+ subject.compile("a.en{background-position:0px 0px}").should == "a.en{background-position:0 0}"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+
@@ -0,0 +1,16 @@
1
+ require 'compiler/base'
2
+ require 'assets_booster/compiler/yui_js'
3
+ module AssetsBooster
4
+ module Compiler
5
+ describe YuiJs do
6
+ it_behaves_like "a compiler" do
7
+ describe "compile" do
8
+ it "should compile javscript" do
9
+ subject.compile("var a = 'test'; alert(a);").should == 'var a="test";alert(a);'
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -45,7 +45,7 @@ module AssetsBooster
45
45
  'compiler' => "uglify",
46
46
  },
47
47
  'stylesheet' => {
48
- 'compiler' => "rainpress",
48
+ 'compiler' => "yui_css",
49
49
  },
50
50
  'environments' => %w(test),
51
51
  }
@@ -60,7 +60,7 @@ module AssetsBooster
60
60
  File.should_receive(:utime).with(13, 13, "/rails/public/stylesheets/base_packaged.css").twice
61
61
 
62
62
  # compiling css
63
- file.should_receive(:write).with("html{color:red}").once
63
+ file.should_receive(:write).with("html{color:#f00}").once
64
64
 
65
65
  # merging js
66
66
  File.should_receive(:read).with("/rails/public/javascripts/jquery.js").once.and_return("var action = 'jquery'; alert('jquery')")
@@ -77,7 +77,7 @@ module AssetsBooster
77
77
 
78
78
  subject.compile_all
79
79
  @messages[0].should match(/Merging assets.*CSS Merger/)
80
- @messages[1].should match(/Compiling.*Rainpress/)
80
+ @messages[1].should match(/Compiling.*YUI Compressor/)
81
81
  @messages[3].should match(/Merging assets.*Simple Merger/)
82
82
  @messages[4].should match(/Compiling.*UglifyJS/)
83
83
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assets_booster
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 4
10
- version: 0.0.4
9
+ - 5
10
+ version: 0.0.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Corin Langosch
@@ -65,6 +65,22 @@ dependencies:
65
65
  version: "1.0"
66
66
  type: :development
67
67
  version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ name: yui-compressor
70
+ prerelease: false
71
+ requirement: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ hash: 51
77
+ segments:
78
+ - 0
79
+ - 9
80
+ - 4
81
+ version: 0.9.4
82
+ type: :development
83
+ version_requirements: *id004
68
84
  description: Instead of sending down a dozen JavaScript and CSS files full of formatting and comments, this gem makes it simple to merge and compress these into one or more files, increasing speed and saving bandwidth.
69
85
  email:
70
86
  - info@netskin.com
@@ -91,6 +107,8 @@ files:
91
107
  - lib/assets_booster/compiler/node-js/uglify.js
92
108
  - lib/assets_booster/compiler/rainpress.rb
93
109
  - lib/assets_booster/compiler/uglify.rb
110
+ - lib/assets_booster/compiler/yui_css.rb
111
+ - lib/assets_booster/compiler/yui_js.rb
94
112
  - lib/assets_booster/merger/base.rb
95
113
  - lib/assets_booster/merger/css.rb
96
114
  - lib/assets_booster/merger/simple.rb
@@ -108,6 +126,8 @@ files:
108
126
  - spec/compiler/jsmin_spec.rb
109
127
  - spec/compiler/rainpress_spec.rb
110
128
  - spec/compiler/uglify_spec.rb
129
+ - spec/compiler/yui_css_spec.rb
130
+ - spec/compiler/yui_js_spec.rb
111
131
  - spec/merger/base.rb
112
132
  - spec/merger/css_spec.rb
113
133
  - spec/merger/simple_spec.rb