rapper 0.0.1

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.
Files changed (90) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +11 -0
  4. data/Gemfile.lock +24 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.markdown +140 -0
  7. data/Rakefile +45 -0
  8. data/VERSION +1 -0
  9. data/lib/rapper.rb +66 -0
  10. data/lib/rapper/compressors.rb +47 -0
  11. data/lib/rapper/config.rb +95 -0
  12. data/lib/rapper/errors.rb +23 -0
  13. data/lib/rapper/logging.rb +35 -0
  14. data/lib/rapper/utils.rb +106 -0
  15. data/lib/rapper/versioning.rb +37 -0
  16. data/lib/yui/css_compressor.rb +279 -0
  17. data/rapper.gemspec +167 -0
  18. data/spec/fixtures/config/assets.yml +25 -0
  19. data/spec/fixtures/config/assets/base/javascripts.yml +12 -0
  20. data/spec/fixtures/config/assets/base/stylesheets.yml +10 -0
  21. data/spec/fixtures/config/assets/base/validators.yml +9 -0
  22. data/spec/fixtures/javascripts/simple_1.js +5 -0
  23. data/spec/fixtures/javascripts/simple_2.js +5 -0
  24. data/spec/fixtures/stylesheets/simple_1.css +4 -0
  25. data/spec/fixtures/stylesheets/simple_2.css +4 -0
  26. data/spec/fixtures/test_cases/concatenation/assets.yml +5 -0
  27. data/spec/fixtures/test_cases/concatenation/definitions/css.yml +15 -0
  28. data/spec/fixtures/test_cases/concatenation/definitions/js.yml +15 -0
  29. data/spec/fixtures/test_cases/concatenation/expected/base.css +8 -0
  30. data/spec/fixtures/test_cases/concatenation/expected/base.js +10 -0
  31. data/spec/fixtures/test_cases/concatenation/expected/base_reversed.css +8 -0
  32. data/spec/fixtures/test_cases/concatenation/expected/base_reversed.js +10 -0
  33. data/spec/fixtures/yui_css/background-position.css +2 -0
  34. data/spec/fixtures/yui_css/background-position.css.min +1 -0
  35. data/spec/fixtures/yui_css/box-model-hack.css +9 -0
  36. data/spec/fixtures/yui_css/box-model-hack.css.min +1 -0
  37. data/spec/fixtures/yui_css/bug2527974.css +9 -0
  38. data/spec/fixtures/yui_css/bug2527974.css.min +1 -0
  39. data/spec/fixtures/yui_css/bug2527991.css +19 -0
  40. data/spec/fixtures/yui_css/bug2527991.css.min +1 -0
  41. data/spec/fixtures/yui_css/bug2527998.css +4 -0
  42. data/spec/fixtures/yui_css/bug2527998.css.min +1 -0
  43. data/spec/fixtures/yui_css/bug2528034.css +5 -0
  44. data/spec/fixtures/yui_css/bug2528034.css.min +1 -0
  45. data/spec/fixtures/yui_css/charset-media.css +9 -0
  46. data/spec/fixtures/yui_css/charset-media.css.min +1 -0
  47. data/spec/fixtures/yui_css/color.css +7 -0
  48. data/spec/fixtures/yui_css/color.css.min +1 -0
  49. data/spec/fixtures/yui_css/comment.css +3 -0
  50. data/spec/fixtures/yui_css/comment.css.min +1 -0
  51. data/spec/fixtures/yui_css/concat-charset.css +15 -0
  52. data/spec/fixtures/yui_css/concat-charset.css.min +1 -0
  53. data/spec/fixtures/yui_css/decimals.css +3 -0
  54. data/spec/fixtures/yui_css/decimals.css.min +1 -0
  55. data/spec/fixtures/yui_css/dollar-header.css +7 -0
  56. data/spec/fixtures/yui_css/dollar-header.css.min +3 -0
  57. data/spec/fixtures/yui_css/font-face.css +6 -0
  58. data/spec/fixtures/yui_css/font-face.css.min +1 -0
  59. data/spec/fixtures/yui_css/ie5mac.css +5 -0
  60. data/spec/fixtures/yui_css/ie5mac.css.min +1 -0
  61. data/spec/fixtures/yui_css/media-empty-class.css +16 -0
  62. data/spec/fixtures/yui_css/media-empty-class.css.min +1 -0
  63. data/spec/fixtures/yui_css/media-multi.css +5 -0
  64. data/spec/fixtures/yui_css/media-multi.css.min +1 -0
  65. data/spec/fixtures/yui_css/media-test.css +5 -0
  66. data/spec/fixtures/yui_css/media-test.css.min +1 -0
  67. data/spec/fixtures/yui_css/opacity-filter.css +14 -0
  68. data/spec/fixtures/yui_css/opacity-filter.css.min +1 -0
  69. data/spec/fixtures/yui_css/preserve-new-line.css +6 -0
  70. data/spec/fixtures/yui_css/preserve-new-line.css.min +3 -0
  71. data/spec/fixtures/yui_css/preserve-strings.css +7 -0
  72. data/spec/fixtures/yui_css/preserve-strings.css.min +1 -0
  73. data/spec/fixtures/yui_css/preserve_string.css +7 -0
  74. data/spec/fixtures/yui_css/preserve_string.css.min +1 -0
  75. data/spec/fixtures/yui_css/pseudo-first.css +16 -0
  76. data/spec/fixtures/yui_css/pseudo-first.css.min +1 -0
  77. data/spec/fixtures/yui_css/pseudo.css +4 -0
  78. data/spec/fixtures/yui_css/pseudo.css.min +1 -0
  79. data/spec/fixtures/yui_css/special-comments.css +13 -0
  80. data/spec/fixtures/yui_css/special-comments.css.min +9 -0
  81. data/spec/fixtures/yui_css/star-underscore-hacks.css +5 -0
  82. data/spec/fixtures/yui_css/star-underscore-hacks.css.min +1 -0
  83. data/spec/fixtures/yui_css/string-in-comment.css +8 -0
  84. data/spec/fixtures/yui_css/string-in-comment.css.min +1 -0
  85. data/spec/fixtures/yui_css/zeros.css +6 -0
  86. data/spec/fixtures/yui_css/zeros.css.min +1 -0
  87. data/spec/rapper_spec.rb +139 -0
  88. data/spec/spec_helper.rb +57 -0
  89. data/spec/vendor_spec.rb +36 -0
  90. metadata +349 -0
@@ -0,0 +1,36 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe Closure::Compiler do
4
+ it "shoud be available" do
5
+ closure = Closure::Compiler.new
6
+ closure.compile( "var x = 1; var y = 2;" ).should == "var x=1,y=2;\n"
7
+ end
8
+
9
+ it "provides whitespace-only, simple, and advanced compression" do
10
+ # https://github.com/documentcloud/closure-compiler/blob/master/test/unit/test_closure_compiler.rb
11
+
12
+ original = "window.hello = function(name) { return console.log('hello ' + name ); }; hello.squared = function(num) { return num * num; }; hello('world');"
13
+ compiled_whitespace = "window.hello=function(name){return console.log(\"hello \"+name)};hello.squared=function(num){return num*num};hello(\"world\");\n"
14
+ compiled_simple = "window.hello=function(a){return console.log(\"hello \"+a)};hello.squared=function(a){return a*a};hello(\"world\");\n"
15
+ compiled_advanced = "window.a=function(b){return console.log(\"hello \"+b)};hello.b=function(b){return b*b};hello(\"world\");\n"
16
+
17
+ Closure::Compiler.new( :compilation_level => "WHITESPACE_ONLY" ).compile(original).should == compiled_whitespace
18
+ Closure::Compiler.new.compile(original).should == compiled_simple
19
+ Closure::Compiler.new( :compilation_level => "ADVANCED_OPTIMIZATIONS" ).compile(original).should == compiled_advanced
20
+ end
21
+ end
22
+
23
+ describe YUI::CSS do
24
+ # https://github.com/rhulse/ruby-css-toolkit/blob/master/test/yui_compressor_test.rb
25
+
26
+ test_files = Dir[File.join( File.dirname( __FILE__ ), '/fixtures/yui_css/*.css' )]
27
+ test_files.each_with_index do |file, i|
28
+ test_css = File.read(file)
29
+ expected_css = File.read( file + '.min' )
30
+ test_name = File.basename( file, ".css" )
31
+
32
+ it "passes the \"#{test_name}\" test case" do
33
+ YUI::CSS.compress( test_css ).should == expected_css
34
+ end
35
+ end
36
+ end
metadata ADDED
@@ -0,0 +1,349 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rapper
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Tyson Tate
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-02-04 00:00:00 -08:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ type: :runtime
23
+ prerelease: false
24
+ name: closure-compiler
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ hash: 23
31
+ segments:
32
+ - 1
33
+ - 0
34
+ - 0
35
+ version: 1.0.0
36
+ requirement: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ type: :development
39
+ prerelease: false
40
+ name: rspec
41
+ version_requirements: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ hash: 25
47
+ segments:
48
+ - 1
49
+ - 3
50
+ - 1
51
+ version: 1.3.1
52
+ requirement: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ type: :development
55
+ prerelease: false
56
+ name: yard
57
+ version_requirements: &id003 !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ hash: 15
63
+ segments:
64
+ - 0
65
+ - 6
66
+ - 4
67
+ version: 0.6.4
68
+ requirement: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ type: :development
71
+ prerelease: false
72
+ name: bluecloth
73
+ version_requirements: &id004 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ hash: 27
79
+ segments:
80
+ - 2
81
+ - 0
82
+ - 10
83
+ version: 2.0.10
84
+ requirement: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ type: :development
87
+ prerelease: false
88
+ name: bundler
89
+ version_requirements: &id005 !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ hash: 23
95
+ segments:
96
+ - 1
97
+ - 0
98
+ - 0
99
+ version: 1.0.0
100
+ requirement: *id005
101
+ - !ruby/object:Gem::Dependency
102
+ type: :development
103
+ prerelease: false
104
+ name: jeweler
105
+ version_requirements: &id006 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ hash: 7
111
+ segments:
112
+ - 1
113
+ - 5
114
+ - 2
115
+ version: 1.5.2
116
+ requirement: *id006
117
+ - !ruby/object:Gem::Dependency
118
+ type: :runtime
119
+ prerelease: false
120
+ name: closure-compiler
121
+ version_requirements: &id007 !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ~>
125
+ - !ruby/object:Gem::Version
126
+ hash: 23
127
+ segments:
128
+ - 1
129
+ - 0
130
+ - 0
131
+ version: 1.0.0
132
+ requirement: *id007
133
+ - !ruby/object:Gem::Dependency
134
+ type: :development
135
+ prerelease: false
136
+ name: rspec
137
+ version_requirements: &id008 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
142
+ hash: 25
143
+ segments:
144
+ - 1
145
+ - 3
146
+ - 1
147
+ version: 1.3.1
148
+ requirement: *id008
149
+ - !ruby/object:Gem::Dependency
150
+ type: :development
151
+ prerelease: false
152
+ name: yard
153
+ version_requirements: &id009 !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ~>
157
+ - !ruby/object:Gem::Version
158
+ hash: 15
159
+ segments:
160
+ - 0
161
+ - 6
162
+ - 4
163
+ version: 0.6.4
164
+ requirement: *id009
165
+ - !ruby/object:Gem::Dependency
166
+ type: :development
167
+ prerelease: false
168
+ name: bluecloth
169
+ version_requirements: &id010 !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ~>
173
+ - !ruby/object:Gem::Version
174
+ hash: 27
175
+ segments:
176
+ - 2
177
+ - 0
178
+ - 10
179
+ version: 2.0.10
180
+ requirement: *id010
181
+ - !ruby/object:Gem::Dependency
182
+ type: :development
183
+ prerelease: false
184
+ name: bundler
185
+ version_requirements: &id011 !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ~>
189
+ - !ruby/object:Gem::Version
190
+ hash: 23
191
+ segments:
192
+ - 1
193
+ - 0
194
+ - 0
195
+ version: 1.0.0
196
+ requirement: *id011
197
+ - !ruby/object:Gem::Dependency
198
+ type: :development
199
+ prerelease: false
200
+ name: jeweler
201
+ version_requirements: &id012 !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ~>
205
+ - !ruby/object:Gem::Version
206
+ hash: 7
207
+ segments:
208
+ - 1
209
+ - 5
210
+ - 2
211
+ version: 1.5.2
212
+ requirement: *id012
213
+ description: Static asset packager and compressor with versioning and built-in view helpers. Easy to configure, easy to use, and easy to ignore when you want to. No crazy JavaScript comment DSLs, either.
214
+ email: tyson@tysontate.com
215
+ executables: []
216
+
217
+ extensions: []
218
+
219
+ extra_rdoc_files:
220
+ - LICENSE.txt
221
+ - README.markdown
222
+ files:
223
+ - .document
224
+ - .rspec
225
+ - Gemfile
226
+ - Gemfile.lock
227
+ - LICENSE.txt
228
+ - README.markdown
229
+ - Rakefile
230
+ - VERSION
231
+ - lib/rapper.rb
232
+ - lib/rapper/compressors.rb
233
+ - lib/rapper/config.rb
234
+ - lib/rapper/errors.rb
235
+ - lib/rapper/logging.rb
236
+ - lib/rapper/utils.rb
237
+ - lib/rapper/versioning.rb
238
+ - lib/yui/css_compressor.rb
239
+ - rapper.gemspec
240
+ - spec/fixtures/config/assets.yml
241
+ - spec/fixtures/config/assets/base/javascripts.yml
242
+ - spec/fixtures/config/assets/base/stylesheets.yml
243
+ - spec/fixtures/config/assets/base/validators.yml
244
+ - spec/fixtures/javascripts/simple_1.js
245
+ - spec/fixtures/javascripts/simple_2.js
246
+ - spec/fixtures/stylesheets/simple_1.css
247
+ - spec/fixtures/stylesheets/simple_2.css
248
+ - spec/fixtures/test_cases/concatenation/assets.yml
249
+ - spec/fixtures/test_cases/concatenation/definitions/css.yml
250
+ - spec/fixtures/test_cases/concatenation/definitions/js.yml
251
+ - spec/fixtures/test_cases/concatenation/expected/base.css
252
+ - spec/fixtures/test_cases/concatenation/expected/base.js
253
+ - spec/fixtures/test_cases/concatenation/expected/base_reversed.css
254
+ - spec/fixtures/test_cases/concatenation/expected/base_reversed.js
255
+ - spec/fixtures/yui_css/background-position.css
256
+ - spec/fixtures/yui_css/background-position.css.min
257
+ - spec/fixtures/yui_css/box-model-hack.css
258
+ - spec/fixtures/yui_css/box-model-hack.css.min
259
+ - spec/fixtures/yui_css/bug2527974.css
260
+ - spec/fixtures/yui_css/bug2527974.css.min
261
+ - spec/fixtures/yui_css/bug2527991.css
262
+ - spec/fixtures/yui_css/bug2527991.css.min
263
+ - spec/fixtures/yui_css/bug2527998.css
264
+ - spec/fixtures/yui_css/bug2527998.css.min
265
+ - spec/fixtures/yui_css/bug2528034.css
266
+ - spec/fixtures/yui_css/bug2528034.css.min
267
+ - spec/fixtures/yui_css/charset-media.css
268
+ - spec/fixtures/yui_css/charset-media.css.min
269
+ - spec/fixtures/yui_css/color.css
270
+ - spec/fixtures/yui_css/color.css.min
271
+ - spec/fixtures/yui_css/comment.css
272
+ - spec/fixtures/yui_css/comment.css.min
273
+ - spec/fixtures/yui_css/concat-charset.css
274
+ - spec/fixtures/yui_css/concat-charset.css.min
275
+ - spec/fixtures/yui_css/decimals.css
276
+ - spec/fixtures/yui_css/decimals.css.min
277
+ - spec/fixtures/yui_css/dollar-header.css
278
+ - spec/fixtures/yui_css/dollar-header.css.min
279
+ - spec/fixtures/yui_css/font-face.css
280
+ - spec/fixtures/yui_css/font-face.css.min
281
+ - spec/fixtures/yui_css/ie5mac.css
282
+ - spec/fixtures/yui_css/ie5mac.css.min
283
+ - spec/fixtures/yui_css/media-empty-class.css
284
+ - spec/fixtures/yui_css/media-empty-class.css.min
285
+ - spec/fixtures/yui_css/media-multi.css
286
+ - spec/fixtures/yui_css/media-multi.css.min
287
+ - spec/fixtures/yui_css/media-test.css
288
+ - spec/fixtures/yui_css/media-test.css.min
289
+ - spec/fixtures/yui_css/opacity-filter.css
290
+ - spec/fixtures/yui_css/opacity-filter.css.min
291
+ - spec/fixtures/yui_css/preserve-new-line.css
292
+ - spec/fixtures/yui_css/preserve-new-line.css.min
293
+ - spec/fixtures/yui_css/preserve-strings.css
294
+ - spec/fixtures/yui_css/preserve-strings.css.min
295
+ - spec/fixtures/yui_css/preserve_string.css
296
+ - spec/fixtures/yui_css/preserve_string.css.min
297
+ - spec/fixtures/yui_css/pseudo-first.css
298
+ - spec/fixtures/yui_css/pseudo-first.css.min
299
+ - spec/fixtures/yui_css/pseudo.css
300
+ - spec/fixtures/yui_css/pseudo.css.min
301
+ - spec/fixtures/yui_css/special-comments.css
302
+ - spec/fixtures/yui_css/special-comments.css.min
303
+ - spec/fixtures/yui_css/star-underscore-hacks.css
304
+ - spec/fixtures/yui_css/star-underscore-hacks.css.min
305
+ - spec/fixtures/yui_css/string-in-comment.css
306
+ - spec/fixtures/yui_css/string-in-comment.css.min
307
+ - spec/fixtures/yui_css/zeros.css
308
+ - spec/fixtures/yui_css/zeros.css.min
309
+ - spec/rapper_spec.rb
310
+ - spec/spec_helper.rb
311
+ - spec/vendor_spec.rb
312
+ has_rdoc: true
313
+ homepage: http://tysontate.github.com/rapper/
314
+ licenses:
315
+ - MIT
316
+ post_install_message:
317
+ rdoc_options: []
318
+
319
+ require_paths:
320
+ - lib
321
+ required_ruby_version: !ruby/object:Gem::Requirement
322
+ none: false
323
+ requirements:
324
+ - - ">="
325
+ - !ruby/object:Gem::Version
326
+ hash: 3
327
+ segments:
328
+ - 0
329
+ version: "0"
330
+ required_rubygems_version: !ruby/object:Gem::Requirement
331
+ none: false
332
+ requirements:
333
+ - - ">="
334
+ - !ruby/object:Gem::Version
335
+ hash: 3
336
+ segments:
337
+ - 0
338
+ version: "0"
339
+ requirements: []
340
+
341
+ rubyforge_project:
342
+ rubygems_version: 1.3.7
343
+ signing_key:
344
+ specification_version: 3
345
+ summary: Static asset packager and compressor with versioning and built-in view helpers.
346
+ test_files:
347
+ - spec/rapper_spec.rb
348
+ - spec/spec_helper.rb
349
+ - spec/vendor_spec.rb