sinatra-assetpack-flexible-compression 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +2 -0
  3. data/HISTORY.md +131 -0
  4. data/README.md +664 -0
  5. data/Rakefile +31 -0
  6. data/docsrc/style.css +32 -0
  7. data/examples/basic/.gitignore +1 -0
  8. data/examples/basic/Rakefile +7 -0
  9. data/examples/basic/app.rb +39 -0
  10. data/examples/basic/app/css/test.sass +11 -0
  11. data/examples/basic/app/images/icon.png +0 -0
  12. data/examples/basic/app/js/app.js +4 -0
  13. data/examples/basic/app/js/vendor/jquery.js +2 -0
  14. data/examples/basic/app/js/vendor/jquery.plugin.js +2 -0
  15. data/examples/basic/app/js/vendor/underscore.js +2 -0
  16. data/examples/basic/views/index.erb +26 -0
  17. data/examples/classic/app.rb +24 -0
  18. data/examples/classic/css/screen.scss +1 -0
  19. data/examples/compass/.gitignore +1 -0
  20. data/examples/compass/Rakefile +7 -0
  21. data/examples/compass/app.rb +45 -0
  22. data/examples/compass/app/css/main.scss +64 -0
  23. data/examples/compass/app/images/icon-scfd8d7d404.png +0 -0
  24. data/examples/compass/app/images/icon/mail.png +0 -0
  25. data/examples/compass/app/images/icon/refresh.png +0 -0
  26. data/examples/compass/app/images/junk/mail.png +0 -0
  27. data/examples/compass/app/images/junk/refresh.png +0 -0
  28. data/examples/compass/app/js/app.js +3 -0
  29. data/examples/compass/app/js/vendor/jquery.js +2 -0
  30. data/examples/compass/app/js/vendor/jquery.plugin.js +2 -0
  31. data/examples/compass/app/js/vendor/underscore.js +2 -0
  32. data/examples/compass/config.ru +3 -0
  33. data/examples/compass/views/index.erb +15 -0
  34. data/lib/sinatra/assetpack.rb +61 -0
  35. data/lib/sinatra/assetpack/buster_helpers.rb +36 -0
  36. data/lib/sinatra/assetpack/class_methods.rb +82 -0
  37. data/lib/sinatra/assetpack/compressor.rb +54 -0
  38. data/lib/sinatra/assetpack/configurator.rb +21 -0
  39. data/lib/sinatra/assetpack/css.rb +36 -0
  40. data/lib/sinatra/assetpack/engine.rb +20 -0
  41. data/lib/sinatra/assetpack/engines/closure.rb +19 -0
  42. data/lib/sinatra/assetpack/engines/jsmin.rb +10 -0
  43. data/lib/sinatra/assetpack/engines/sass.rb +11 -0
  44. data/lib/sinatra/assetpack/engines/simple.rb +11 -0
  45. data/lib/sinatra/assetpack/engines/sqwish.rb +21 -0
  46. data/lib/sinatra/assetpack/engines/uglify.rb +12 -0
  47. data/lib/sinatra/assetpack/engines/yui.rb +22 -0
  48. data/lib/sinatra/assetpack/hasharray.rb +66 -0
  49. data/lib/sinatra/assetpack/helpers.rb +61 -0
  50. data/lib/sinatra/assetpack/html_helpers.rb +17 -0
  51. data/lib/sinatra/assetpack/image.rb +59 -0
  52. data/lib/sinatra/assetpack/options.rb +326 -0
  53. data/lib/sinatra/assetpack/package.rb +116 -0
  54. data/lib/sinatra/assetpack/rake.rb +29 -0
  55. data/lib/sinatra/assetpack/version.rb +7 -0
  56. data/test/app/.gitignore +1 -0
  57. data/test/app/Rakefile +7 -0
  58. data/test/app/app.rb +62 -0
  59. data/test/app/app/css/behavior.htc +1 -0
  60. data/test/app/app/css/js2c.css +494 -0
  61. data/test/app/app/css/screen.sass +9 -0
  62. data/test/app/app/css/sqwishable.css +7 -0
  63. data/test/app/app/css/style.css +3 -0
  64. data/test/app/app/css/stylus.styl +3 -0
  65. data/test/app/app/css_stylus/stylus.styl +3 -0
  66. data/test/app/app/images/background.jpg +1 -0
  67. data/test/app/app/images/email.png +0 -0
  68. data/test/app/app/js/_ignoreme.js +1 -0
  69. data/test/app/app/js/hello.js +1 -0
  70. data/test/app/app/js/hi.coffee +2 -0
  71. data/test/app/app/js/ugly.js +7 -0
  72. data/test/app/app/js_glob/a/b/c1/hello.js +1 -0
  73. data/test/app/app/js_glob/a/b/c2/hi.js +1 -0
  74. data/test/app/app/js_glob/a/b/c2/hola.js +1 -0
  75. data/test/app/app/views/index.haml +1 -0
  76. data/test/arity_test.rb +26 -0
  77. data/test/build_test.rb +31 -0
  78. data/test/cache_test.rb +9 -0
  79. data/test/compressed_test.rb +30 -0
  80. data/test/glob_test.rb +42 -0
  81. data/test/helpers_test.rb +30 -0
  82. data/test/ignore_test.rb +30 -0
  83. data/test/img_test.rb +31 -0
  84. data/test/local_file_test.rb +21 -0
  85. data/test/mime_type_test.rb +33 -0
  86. data/test/non_existent_test.rb +45 -0
  87. data/test/options_test.rb +21 -0
  88. data/test/order_test.rb +20 -0
  89. data/test/preproc_test.rb +28 -0
  90. data/test/redundant_test.rb +11 -0
  91. data/test/simplecss_test.rb +16 -0
  92. data/test/sqwish_test.rb +31 -0
  93. data/test/stylus_test.rb +23 -0
  94. data/test/template_cache_test.rb +29 -0
  95. data/test/test_helper.rb +46 -0
  96. data/test/tilt_test.rb +11 -0
  97. data/test/uglifier_test.rb +23 -0
  98. data/test/unit_test.rb +109 -0
  99. data/test/yui_test.rb +22 -0
  100. metadata +276 -0
@@ -0,0 +1,28 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class PreprocTest < UnitTest
4
+ test "preproc" do
5
+ get '/css/screen.css'
6
+ assert body =~ %r{email.[0-9]+.png}
7
+ end
8
+
9
+ test "preproc static files" do
10
+ get '/css/style.css'
11
+ assert body =~ %r{background.[0-9]+.jpg}
12
+ end
13
+
14
+ test "no cache-busting number for non-existent images" do
15
+ get '/css/style.css'
16
+ assert body.include?('background: url(/images/404.png)')
17
+ end
18
+
19
+ test "preproc on minify" do
20
+ get '/css/application.css'
21
+ assert body =~ %r{email.[0-9]+.png}
22
+ end
23
+
24
+ test "embed" do
25
+ get '/css/screen.css'
26
+ assert body =~ %r{data:image/png;base64,[A-Za-z0-9=/]{100,}}
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+
2
+ require File.expand_path('../test_helper', __FILE__)
3
+
4
+ class RedundantTest < UnitTest
5
+ Main.get("/helpers/css/redundant") { css :redundant }
6
+
7
+ test "redundant" do
8
+ get '/helpers/css/redundant'
9
+ assert body.scan(/screen/).count == 1
10
+ end
11
+ end
@@ -0,0 +1,16 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class SimplecssTest < UnitTest
4
+ setup do
5
+ app.assets.css_compression = :simple
6
+ end
7
+
8
+ teardown do
9
+ app.assets.css_compression = :simple
10
+ end
11
+
12
+ test "build" do
13
+ get '/css/js2.css'
14
+ assert body.include? "op:solid 1px #ddd;padding-top:20px;margin-top:20px;font-size:1em;}#info code{background"
15
+ end
16
+ end
@@ -0,0 +1,31 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class SqwishTest < UnitTest
4
+ setup do
5
+ app.assets.css_compression :sqwish, :strict => true
6
+ end
7
+
8
+ teardown do
9
+ app.assets.css_compression :simple
10
+ app.assets.css_compression_options.delete :strict
11
+ end
12
+
13
+ def self.sqwish?
14
+ `which sqwish` && true rescue false
15
+ end
16
+
17
+ test "css compression options" do
18
+ assert app.assets.css_compression_options[:strict] == true
19
+ end
20
+
21
+ if sqwish?
22
+ test "build" do
23
+ Sinatra::AssetPack::Compressor
24
+ Sinatra::AssetPack::SqwishEngine.any_instance.expects(:css)
25
+
26
+ get '/css/sq.css'
27
+ end
28
+ else
29
+ puts "(No Sqwish found; skipping sqwish tests)"
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class StylusTest < UnitTest
4
+ class App < UnitTest::App
5
+ register Sinatra::AssetPack
6
+
7
+ assets do |a|
8
+ a.css :a, '/css/a.css', [
9
+ '/css/stylus.css'
10
+ ]
11
+ end
12
+ end
13
+
14
+ def app
15
+ App
16
+ end
17
+
18
+ test "build" do
19
+ Stylus.expects(:compile).returns("body{background:#f00;color:#00f;}")
20
+ get '/css/stylus.css'
21
+ assert body.gsub(/[ \t\r\n]/, '') == "body{background:#f00;color:#00f;}"
22
+ end
23
+ end
@@ -0,0 +1,29 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class TemplateCacheTest < UnitTest
4
+ class App < UnitTest::App
5
+ register Sinatra::AssetPack
6
+
7
+ set :reload_templates, false
8
+ assets do |a|
9
+ a.css :a, '/a.css', %w[/css/screen.css]
10
+ end
11
+ end
12
+
13
+ def app() App; end
14
+
15
+ test "cache dynamic files when reload templates is false" do
16
+ App.any_instance.expects(:asset_filter_css).times(1).returns "OK"
17
+ 10.times { get '/css/screen.css' }
18
+ end
19
+
20
+ test "cache static css files when reload templates is false" do
21
+ App.any_instance.expects(:asset_filter_css).times(1).returns "OK"
22
+ 10.times { get '/css/style.css' }
23
+ end
24
+
25
+ test "cache packages when reload templates is false" do
26
+ Sinatra::AssetPack::Package.any_instance.expects(:minify).times(1).returns "OK"
27
+ 10.times { get '/a.css' }
28
+ end
29
+ end
@@ -0,0 +1,46 @@
1
+ require 'contest'
2
+ require 'jsmin'
3
+ require 'tilt'
4
+ require 'stylus'
5
+ require 'rack/test'
6
+ require 'yaml'
7
+ require 'mocha'
8
+
9
+ require File.expand_path('../app/app.rb', __FILE__)
10
+
11
+ class UnitTest < Test::Unit::TestCase
12
+ include Rack::Test::Methods
13
+
14
+ class App < Sinatra::Base
15
+ set :root, File.expand_path('../app', __FILE__)
16
+ enable :raise_errors
17
+ disable :show_exceptions
18
+ end
19
+
20
+ def app
21
+ Main
22
+ end
23
+
24
+ def d
25
+ puts "-"*80
26
+ puts "#{last_response.status}"
27
+ y last_response.original_headers
28
+ puts "-"*80
29
+ puts ""
30
+ puts last_response.body.gsub(/^/m, ' ')
31
+ puts ""
32
+ end
33
+
34
+ def body
35
+ last_response.body.strip
36
+ end
37
+
38
+ def r(*a)
39
+ File.join app.root, *a
40
+ end
41
+
42
+ def assert_includes(haystack, needle)
43
+ assert haystack.include?(needle), "Expected #{haystack.inspect} to include #{needle.inspect}."
44
+ end
45
+ end
46
+
@@ -0,0 +1,11 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class OptionsTest < UnitTest
4
+ test "tilt mappings" do
5
+ @formats = Sinatra::AssetPack.tilt_formats
6
+ assert @formats['sass'] == 'css'
7
+ assert @formats['scss'] == 'css'
8
+ assert @formats['coffee'] == 'js'
9
+ end
10
+ end
11
+
@@ -0,0 +1,23 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class UglifyTest < UnitTest
4
+ class App < UnitTest::App
5
+ register Sinatra::AssetPack
6
+
7
+ assets do
8
+ js_compression :uglify, :mangle => true
9
+ js :main, '/main.js', [
10
+ '/js/ugly.js'
11
+ ]
12
+ end
13
+ end
14
+
15
+ def app
16
+ App
17
+ end
18
+
19
+ test "build" do
20
+ get '/main.js'
21
+ assert !body.include?("noodle")
22
+ end
23
+ end
@@ -0,0 +1,109 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class AppTest < UnitTest
4
+
5
+ test '/js/hello.js (plain js)' do
6
+ get '/js/hello.js'
7
+ assert body == '$(function() { alert("Hello"); });'
8
+ end
9
+
10
+ test '/js/hi.js (coffeescript)' do
11
+ get '/js/hi.js'
12
+ assert body.include? 'yo'
13
+ assert body.include? 'x = function'
14
+ end
15
+
16
+ test '/js/hi.css (404)' do
17
+ get '/js/hi.css'
18
+ assert last_response.status == 404
19
+ end
20
+
21
+ test '/js/hi.2834987.js (with cache buster)' do
22
+ get '/js/hello.283947.js'
23
+ assert body == '$(function() { alert("Hello"); });'
24
+ end
25
+
26
+ test '/js/hi.2834987.js (coffeescript with cache buster)' do
27
+ get '/js/hi.283947.js'
28
+ assert last_response.status == 200
29
+ assert body.include? 'yo'
30
+ assert body.include? 'x = function'
31
+ end
32
+
33
+ test 'wrong extension for static file' do
34
+ get '/js/hello.css'
35
+ assert last_response.status == 404
36
+ end
37
+
38
+ test 'matches only from the site root' do
39
+ get '/not-the-root/js/hello.js'
40
+ assert last_response.status == 404
41
+ end
42
+
43
+ test 'wrong extension for dynamic coffeescript file' do
44
+ get '/js/hi.css'
45
+ assert last_response.status == 404
46
+ end
47
+
48
+ test 'static css' do
49
+ get '/css/style.css'
50
+ assert body.include?('div { color: red; }')
51
+ end
52
+
53
+ test 'sass' do
54
+ get '/css/screen.css'
55
+ assert body =~ /background.*rgba.*255.*0.3/m
56
+ end
57
+
58
+ test "match" do
59
+ files = app.assets.files
60
+ assert files['/css/screen.css'] =~ /app\/css\/screen.sass/
61
+ assert files['/js/hi.js'] =~ /app\/js\/hi.coffee/
62
+ end
63
+
64
+ test "helpers" do
65
+ get '/index.html'
66
+ assert body =~ /<script src='\/js\/hello.[0-9]+.js'><\/script>/
67
+ assert body =~ /<script src='\/js\/hi.[0-9]+.js'><\/script>/
68
+ end
69
+
70
+ test "helpers where compression is enabled with setting compressed_env" do
71
+ app.set :compressed_env, true
72
+ get '/index.html'
73
+ assert body =~ /<script src='\/js\/app.[0-9]+.js'><\/script>/
74
+ app.set :compressed_env, false
75
+ end
76
+
77
+ test "helpers in production (compressed html thingie)" do
78
+ app.expects(:production?).returns(true)
79
+ get '/index.html'
80
+ assert body =~ /<script src='\/js\/app.[0-9]+.js'><\/script>/
81
+ end
82
+
83
+ test "compressed js" do
84
+ get '/js/app.js'
85
+ assert body.include? 'function(){alert("Hello");'
86
+ assert_includes body, "var x;x=function(){"
87
+ end
88
+
89
+ test "compressed js with cache bust" do
90
+ get '/js/app.38987.js'
91
+ assert body.include? 'function(){alert("Hello");'
92
+ assert_includes body, "var x;x=function(){"
93
+ end
94
+
95
+ test "compressed css" do
96
+ get '/css/application.css'
97
+ assert_includes body, "rgba(0,0,255,0.3)"
98
+ end
99
+
100
+ test "compressed css with cache bust" do
101
+ get '/css/application.388783.css'
102
+ assert_includes body, "rgba(0,0,255,0.3)"
103
+ end
104
+
105
+ test "helpers css" do
106
+ get '/helpers/css'
107
+ assert body =~ %r{link rel='stylesheet' href='/css/screen.[0-9]+.css' media='screen'}
108
+ end
109
+ end
@@ -0,0 +1,22 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class YuiTest < UnitTest
4
+ setup do
5
+ app.set :reload_templates, true
6
+ app.assets.js_compression = :yui
7
+ app.assets.css_compression = :yui
8
+ end
9
+
10
+ teardown do
11
+ app.assets.js_compression = :jsmin
12
+ app.assets.css_compression = :simple
13
+ end
14
+
15
+ test "build" do
16
+ require 'yui/compressor'
17
+ YUI::JavaScriptCompressor.any_instance.expects(:compress).returns "LOL"
18
+
19
+ get '/js/app.js'
20
+ assert body == "LOL"
21
+ end
22
+ end
metadata ADDED
@@ -0,0 +1,276 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sinatra-assetpack-flexible-compression
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Rico Sta. Cruz, BSkyB Helpcentre
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-10-30 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: tilt
16
+ requirement: &12029420 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.3.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *12029420
25
+ - !ruby/object:Gem::Dependency
26
+ name: sinatra
27
+ requirement: &12028800 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *12028800
36
+ - !ruby/object:Gem::Dependency
37
+ name: jsmin
38
+ requirement: &12028120 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *12028120
47
+ - !ruby/object:Gem::Dependency
48
+ name: rack-test
49
+ requirement: &12027480 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *12027480
58
+ - !ruby/object:Gem::Dependency
59
+ name: yui-compressor
60
+ requirement: &12026860 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *12026860
69
+ - !ruby/object:Gem::Dependency
70
+ name: sass
71
+ requirement: &12026220 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *12026220
80
+ - !ruby/object:Gem::Dependency
81
+ name: haml
82
+ requirement: &12025580 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *12025580
91
+ - !ruby/object:Gem::Dependency
92
+ name: coffee-script
93
+ requirement: &12024960 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *12024960
102
+ - !ruby/object:Gem::Dependency
103
+ name: contest
104
+ requirement: &12024360 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *12024360
113
+ - !ruby/object:Gem::Dependency
114
+ name: mocha
115
+ requirement: &12023940 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *12023940
124
+ - !ruby/object:Gem::Dependency
125
+ name: stylus
126
+ requirement: &12023520 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *12023520
135
+ - !ruby/object:Gem::Dependency
136
+ name: uglifier
137
+ requirement: &12023100 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: *12023100
146
+ description: Package your assets for Sinatra.
147
+ email:
148
+ - rico@sinefunc.com, skyhelpcentre@gmail.com
149
+ executables: []
150
+ extensions: []
151
+ extra_rdoc_files: []
152
+ files:
153
+ - .gitignore
154
+ - Gemfile
155
+ - HISTORY.md
156
+ - README.md
157
+ - Rakefile
158
+ - docsrc/style.css
159
+ - examples/basic/.gitignore
160
+ - examples/basic/Rakefile
161
+ - examples/basic/app.rb
162
+ - examples/basic/app/css/test.sass
163
+ - examples/basic/app/images/icon.png
164
+ - examples/basic/app/js/app.js
165
+ - examples/basic/app/js/vendor/jquery.js
166
+ - examples/basic/app/js/vendor/jquery.plugin.js
167
+ - examples/basic/app/js/vendor/underscore.js
168
+ - examples/basic/views/index.erb
169
+ - examples/classic/app.rb
170
+ - examples/classic/css/screen.scss
171
+ - examples/compass/.gitignore
172
+ - examples/compass/Rakefile
173
+ - examples/compass/app.rb
174
+ - examples/compass/app/css/main.scss
175
+ - examples/compass/app/images/icon-scfd8d7d404.png
176
+ - examples/compass/app/images/icon/mail.png
177
+ - examples/compass/app/images/icon/refresh.png
178
+ - examples/compass/app/images/junk/mail.png
179
+ - examples/compass/app/images/junk/refresh.png
180
+ - examples/compass/app/js/app.js
181
+ - examples/compass/app/js/vendor/jquery.js
182
+ - examples/compass/app/js/vendor/jquery.plugin.js
183
+ - examples/compass/app/js/vendor/underscore.js
184
+ - examples/compass/config.ru
185
+ - examples/compass/views/index.erb
186
+ - lib/sinatra/assetpack.rb
187
+ - lib/sinatra/assetpack/buster_helpers.rb
188
+ - lib/sinatra/assetpack/class_methods.rb
189
+ - lib/sinatra/assetpack/compressor.rb
190
+ - lib/sinatra/assetpack/configurator.rb
191
+ - lib/sinatra/assetpack/css.rb
192
+ - lib/sinatra/assetpack/engine.rb
193
+ - lib/sinatra/assetpack/engines/closure.rb
194
+ - lib/sinatra/assetpack/engines/jsmin.rb
195
+ - lib/sinatra/assetpack/engines/sass.rb
196
+ - lib/sinatra/assetpack/engines/simple.rb
197
+ - lib/sinatra/assetpack/engines/sqwish.rb
198
+ - lib/sinatra/assetpack/engines/uglify.rb
199
+ - lib/sinatra/assetpack/engines/yui.rb
200
+ - lib/sinatra/assetpack/hasharray.rb
201
+ - lib/sinatra/assetpack/helpers.rb
202
+ - lib/sinatra/assetpack/html_helpers.rb
203
+ - lib/sinatra/assetpack/image.rb
204
+ - lib/sinatra/assetpack/options.rb
205
+ - lib/sinatra/assetpack/package.rb
206
+ - lib/sinatra/assetpack/rake.rb
207
+ - lib/sinatra/assetpack/version.rb
208
+ - test/app/.gitignore
209
+ - test/app/Rakefile
210
+ - test/app/app.rb
211
+ - test/app/app/css/behavior.htc
212
+ - test/app/app/css/js2c.css
213
+ - test/app/app/css/screen.sass
214
+ - test/app/app/css/sqwishable.css
215
+ - test/app/app/css/style.css
216
+ - test/app/app/css/stylus.styl
217
+ - test/app/app/css_stylus/stylus.styl
218
+ - test/app/app/images/background.jpg
219
+ - test/app/app/images/email.png
220
+ - test/app/app/js/_ignoreme.js
221
+ - test/app/app/js/hello.js
222
+ - test/app/app/js/hi.coffee
223
+ - test/app/app/js/ugly.js
224
+ - test/app/app/js_glob/a/b/c1/hello.js
225
+ - test/app/app/js_glob/a/b/c2/hi.js
226
+ - test/app/app/js_glob/a/b/c2/hola.js
227
+ - test/app/app/views/index.haml
228
+ - test/arity_test.rb
229
+ - test/build_test.rb
230
+ - test/cache_test.rb
231
+ - test/compressed_test.rb
232
+ - test/glob_test.rb
233
+ - test/helpers_test.rb
234
+ - test/ignore_test.rb
235
+ - test/img_test.rb
236
+ - test/local_file_test.rb
237
+ - test/mime_type_test.rb
238
+ - test/non_existent_test.rb
239
+ - test/options_test.rb
240
+ - test/order_test.rb
241
+ - test/preproc_test.rb
242
+ - test/redundant_test.rb
243
+ - test/simplecss_test.rb
244
+ - test/sqwish_test.rb
245
+ - test/stylus_test.rb
246
+ - test/template_cache_test.rb
247
+ - test/test_helper.rb
248
+ - test/tilt_test.rb
249
+ - test/uglifier_test.rb
250
+ - test/unit_test.rb
251
+ - test/yui_test.rb
252
+ homepage: https://github.com/bskyb-commerce-helpcentre/sinatra-assetpack
253
+ licenses: []
254
+ post_install_message:
255
+ rdoc_options: []
256
+ require_paths:
257
+ - lib
258
+ required_ruby_version: !ruby/object:Gem::Requirement
259
+ none: false
260
+ requirements:
261
+ - - ! '>='
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ required_rubygems_version: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ! '>='
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
270
+ requirements: []
271
+ rubyforge_project:
272
+ rubygems_version: 1.8.10
273
+ signing_key:
274
+ specification_version: 3
275
+ summary: Asset packager for Sinatra.
276
+ test_files: []