jzip 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. data/.gitignore +4 -0
  2. data/CHANGELOG +74 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.textile +159 -0
  5. data/Rakefile +42 -0
  6. data/VERSION +1 -0
  7. data/init.rb +1 -0
  8. data/install.rb +3 -0
  9. data/jzip.gemspec +143 -0
  10. data/lib/jzip.rb +7 -0
  11. data/lib/jzip/actionpack.rb +2 -0
  12. data/lib/jzip/actionpack/action_controller/base.rb +18 -0
  13. data/lib/jzip/assets.rb +28 -0
  14. data/lib/jzip/core.rb +4 -0
  15. data/lib/jzip/core/string.rb +6 -0
  16. data/lib/jzip/core/string/analyzation.rb +22 -0
  17. data/lib/jzip/engine.rb +82 -0
  18. data/lib/jzip/engine/requirement.rb +46 -0
  19. data/lib/jzip/engine/support/jsmin.rb +205 -0
  20. data/lib/jzip/engine/support/minifier.rb +31 -0
  21. data/lib/jzip/engine/support/notifier.rb +21 -0
  22. data/lib/jzip/engine/template.rb +141 -0
  23. data/lib/jzip/plugin.rb +12 -0
  24. data/rails/init.rb +1 -0
  25. data/tasks/jzip.rake +11 -0
  26. data/test/actionpack/action_controller/base_test.rb +74 -0
  27. data/test/core/string/analyzation_test.rb +31 -0
  28. data/test/engine_test.rb +17 -0
  29. data/test/javascripts/after/compressed/public/javascripts/backend.js +34 -0
  30. data/test/javascripts/after/compressed/public/javascripts/defaults.js +461 -0
  31. data/test/javascripts/after/compressed/public/javascripts/frontend.js +34 -0
  32. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/code_heroes/backend.js +2 -0
  33. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/code_heroes/frontend.js +2 -0
  34. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/code_heroes.js +3 -0
  35. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/code_heroes/ajaxify.js +2 -0
  36. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/ajax_setup.js +4 -0
  37. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/class.js +5 -0
  38. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/components/core.js +6 -0
  39. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/extensions/core.js +5 -0
  40. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/extensions/deparam.js +4 -0
  41. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/seat_holder.js +12 -0
  42. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/native/extensions/array.js +4 -0
  43. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/native/extensions/string.js +2 -0
  44. data/test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/native/log.js +2 -0
  45. data/test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/application.js +0 -0
  46. data/test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/controls.js +66 -0
  47. data/test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/dragdrop.js +68 -0
  48. data/test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/effects.js +49 -0
  49. data/test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/prototype.js +278 -0
  50. data/test/javascripts/after/compressed/tmp/jzip/_minified_/tmp/jzip/public/javascripts/shared/_shared.js +32 -0
  51. data/test/javascripts/after/compressed/tmp/jzip/_minified_/tmp/jzip/public/javascripts/shared/jquery/_core.js +6 -0
  52. data/test/javascripts/after/compressed/tmp/jzip/public/javascripts/shared/_shared.js +49 -0
  53. data/test/javascripts/after/compressed/tmp/jzip/public/javascripts/shared/jquery/_core.js +6 -0
  54. data/test/javascripts/after/uncompressed/public/javascripts/backend.js +826 -0
  55. data/test/javascripts/after/uncompressed/public/javascripts/defaults.js +7389 -0
  56. data/test/javascripts/after/uncompressed/public/javascripts/frontend.js +826 -0
  57. data/test/javascripts/after/uncompressed/tmp/jzip/public/javascripts/shared/_shared.js +811 -0
  58. data/test/javascripts/after/uncompressed/tmp/jzip/public/javascripts/shared/jquery/_core.js +158 -0
  59. data/test/javascripts/assets/jzip/backend.jz +3 -0
  60. data/test/javascripts/assets/jzip/code_heroes/backend.js +15 -0
  61. data/test/javascripts/assets/jzip/code_heroes/frontend.js +15 -0
  62. data/test/javascripts/assets/jzip/defaults.jz +2 -0
  63. data/test/javascripts/assets/jzip/frontend.jz +3 -0
  64. data/test/javascripts/assets/jzip/shared/_shared.jz +15 -0
  65. data/test/javascripts/assets/jzip/shared/code_heroes.js +25 -0
  66. data/test/javascripts/assets/jzip/shared/code_heroes/ajaxify.js +15 -0
  67. data/test/javascripts/assets/jzip/shared/jquery/_all.jz +4 -0
  68. data/test/javascripts/assets/jzip/shared/jquery/_core.fxc-clip.jz +3 -0
  69. data/test/javascripts/assets/jzip/shared/jquery/_core.jz +2 -0
  70. data/test/javascripts/assets/jzip/shared/jquery/_core.uic-resizable.jz +3 -0
  71. data/test/javascripts/assets/jzip/shared/jquery/_fxc-clip.jz +2 -0
  72. data/test/javascripts/assets/jzip/shared/jquery/_fxc-clip.uic-resizable.jz +3 -0
  73. data/test/javascripts/assets/jzip/shared/jquery/_uic-resizable.jz +2 -0
  74. data/test/javascripts/assets/jzip/shared/jquery/ajax_setup.js +23 -0
  75. data/test/javascripts/assets/jzip/shared/jquery/class.js +213 -0
  76. data/test/javascripts/assets/jzip/shared/jquery/components/core.js +157 -0
  77. data/test/javascripts/assets/jzip/shared/jquery/components/fxc-clip.js +16 -0
  78. data/test/javascripts/assets/jzip/shared/jquery/components/uic-resizable.js +16 -0
  79. data/test/javascripts/assets/jzip/shared/jquery/extensions/core.js +36 -0
  80. data/test/javascripts/assets/jzip/shared/jquery/extensions/deparam.js +113 -0
  81. data/test/javascripts/assets/jzip/shared/jquery/seat_holder.js +184 -0
  82. data/test/javascripts/assets/jzip/shared/native/extensions/array.js +28 -0
  83. data/test/javascripts/assets/jzip/shared/native/extensions/string.js +4 -0
  84. data/test/javascripts/assets/jzip/shared/native/log.js +8 -0
  85. data/test/javascripts/before/application.js +2 -0
  86. data/test/javascripts/before/controls.js +963 -0
  87. data/test/javascripts/before/dragdrop.js +973 -0
  88. data/test/javascripts/before/effects.js +1128 -0
  89. data/test/javascripts/before/prototype.js +4320 -0
  90. data/test/rails_root/compressed/assets/jzip/foo.js +0 -0
  91. data/test/rails_root/compressed/public/javascripts/foo.js +0 -0
  92. data/test/rails_root/uncompressed/assets/jzip/foo.js +0 -0
  93. data/test/rails_root/uncompressed/public/javascripts/foo.js +0 -0
  94. data/test/setup.rb +12 -0
  95. data/test/test_helper.rb +5 -0
  96. data/uninstall.rb +1 -0
  97. metadata +177 -0
@@ -0,0 +1,4 @@
1
+ .DS_Store
2
+ pkg/*
3
+ test/rails_root/public/javascripts/*
4
+ test/rails_root/tmp/*
@@ -0,0 +1,74 @@
1
+ = Jzip CHANGELOG
2
+
3
+ == Version 1.0.6 (June 27, 2010)
4
+
5
+ * Corrected the plugin installation
6
+
7
+ == Version 1.0.5 (June 27, 2010)
8
+
9
+ * Corrected the plugin initialization
10
+ * Changed the minification temp directory to "_minified_"
11
+
12
+ == Version 1.0.4 (June 11, 2010)
13
+
14
+ * Corrected setting the root_dir of Jzip::Engine
15
+ * Using File.read and File.readlines from now on
16
+
17
+ == Version 1.0.3 (June 10, 2010)
18
+
19
+ * Corrected Template.derive_required_source(required_source)
20
+ * Corrected Requirement.newer?
21
+ * Tweaked the template output (regarding new lines)
22
+ * Also notifying in the test environment
23
+ * Added extra notifications
24
+
25
+ == Version 1.0.2 (June 8, 2010)
26
+
27
+ * Being able to alter the root dir (default is RAILS_ROOT)
28
+ * Running Jzip::Engine.init on initial compile
29
+
30
+ == Version 1.0.1 (June 5, 2010)
31
+
32
+ * Altered the ActionController::Base hook a bit
33
+
34
+ == Version 1.0.0 (May 31, 2010)
35
+
36
+ * Refactored the entire code base (cleaned up the module and file structure and separated functionality)
37
+ * Improved Javascript file compiling
38
+ * Introduced Jzip partials
39
+ * Deprecated Jzip::Plugin (use Jzip::Engine instead)
40
+
41
+ == Version 0.2.1 (May 5, 2010)
42
+
43
+ * Altered the plugin initialization
44
+ * Refactored the code a bit (moved code to separate files and using Sass' method to trigger compiling)
45
+ * Added more logging info
46
+
47
+ == Version 0.2.0 (September 19, 2009)
48
+
49
+ * Refactored the requirements method:
50
+ - enabled using a preleading '/' in the required_source parameter to specify 'RAILS_ROOT/public/javascripts'
51
+ - using a more transparent approach of parsing 'defaults' to Prototype and Scriptaculous sources
52
+ - being able to add predefined sources (such as 'defaults') with great ease
53
+ - only adding a predefined source when the file exists
54
+ * Added a preleading '/' to the at installment generated Jzip template
55
+ * Not specifying the template location(s) in the Jzip::Plugin.options anymore (this let's you add template locations without having to know the whereabouts of other locations):
56
+ - the locations are stored in a private variable
57
+ - adding a template location has to be done by calling Jzip::Plugin.add_template_location
58
+
59
+ == Version 0.1.3 (September 1, 2009)
60
+
61
+ * Always parsing Jzip templates when on initial compile and options[:minify] is set to true
62
+
63
+ == Version 0.1.2 (August 31, 2009)
64
+
65
+ * Fixed bug in 'require_code' method (generating empty .js files)
66
+
67
+ == Version 0.1.1 (August 30, 2009)
68
+
69
+ * Only parsing Jzip templates when the target file doesn't exist or either the template or its required sources has been updated
70
+ * Provided the possibility of overruling the Jzip minification by adding an exclamation mark before the required source or defaults (e.g. //= require !foo)
71
+
72
+ == Version 0.1.0 (August 30, 2009)
73
+
74
+ * Initial release
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 Paul Engel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,159 @@
1
+
2
+ h1. Jzip
3
+
4
+ A Rails gem (and also plugin) for Javascript merging and compression within Rails Apps
5
+
6
+ h2. Introduction
7
+
8
+ Jzip was created due to the need of simply merging and minifying Javascript files to reduce HTTP requests and file size of my assets. Using sprites for images and SASS for stylesheets only left javascripts not be optimized. AssetPackager almost suited the solution, but I wanted more flexibility in configuration. So I got inspired by AssetPackager and SASS to come up with the Jzip. At first Jzip was a plugin only, but after refactoring the entire code base Jzip is available as a gem hosted on gemcutter.
9
+
10
+ h2. Installation
11
+
12
+ h3. Using Jzip as gem
13
+
14
+ Add gemcutter as a gem source, if you haven't already done it:
15
+
16
+ <pre>
17
+ sudo gem sources -a http://gemcutter.org/
18
+ </pre>
19
+
20
+ Install the Jzip gem:
21
+
22
+ <pre>
23
+ sudo gem install jzip
24
+ </pre>
25
+
26
+ Add Jzip in environment.rb as a gem dependency:
27
+
28
+ <pre>
29
+ config.gem "jzip"
30
+ </pre>
31
+
32
+ Optionally, you can run @rake jzip:assets:install@ which creates the following:
33
+
34
+ * @assets/jzip@ - which is the default template location
35
+ * @assets/jzip/defaults.jz@ - a Jzip template which requires the default Javascript files (Prototype, Scriptaculous sources and application.js)
36
+
37
+ h3. Using Jzip as plugin
38
+
39
+ Install the Jzip plugin:
40
+
41
+ <pre>
42
+ ./script/plugin install git://github.com/archan937/jzip.git
43
+ </pre>
44
+
45
+ *Note*: a Jzip template (@assets/jzip/defaults.jz@) for the Prototype and Scriptaculous sources along with application.js will be created
46
+
47
+ h2. Usage
48
+
49
+ h3. Including generated Javascript files
50
+
51
+ Just use the @javascript_include_tag@ helper method (e.g. for the @defaults.jz@ template):
52
+
53
+ <pre>
54
+ <%= javascript_include_tag "defaults" %>
55
+ </pre>
56
+
57
+ h3. Creating Jzip templates / partials
58
+
59
+ A @.jz@ file (Jzip template or partial) is nothing more than a common .js file in which you can require other files for merging. You can do this by simply adding the following:
60
+
61
+ <pre>
62
+ //= require < path_to_file or path_to_template or path_to_partial or predefined_set >
63
+ </pre>
64
+
65
+ Just like in Rails views and in SASS, Jzip has partials of which the output file will not be created in the target directory. The path to the Javascript file or Jzip template or partial has to be relative to the Jzip template / partial itself. Please note that specifying a preleading @/@ in the path will be interpreted by Jzip as @RAILS_ROOT/public/javascripts@ (which is very handy).
66
+
67
+ Other than the path to a Javascript file, you can also refer to a predefined set of Javascripts sources. At the moment, only @defaults@ is available for the Prototype and Scriptaculous libs and application.js which are shipped with a Rails application. Any suggestions for other predefined sets are welcome.
68
+
69
+ The following instructs Jzip to merge the Prototype and Scriptaculous libraries with three custom Javascript files into @public/javascripts/foo.js@:
70
+
71
+ *Note*: template is located in @assets/jzip/foo.jz@
72
+
73
+ <pre>
74
+ //= require shared/top_up
75
+ //= require /defaults
76
+ //= require builder/module
77
+ //= require builder/model_browser
78
+ </pre>
79
+
80
+ h3. Registering template locations
81
+
82
+ You probably already have guessed that the default location for Jzip templates is @RAILS_ROOT/assets/jzip@. I can imagine that you would have choosen another location. So fortunately, the Jzip engine offers you to that piece of freedom. All you have to do is put the following in your @environment.rb@ file:
83
+
84
+ <pre>
85
+ Jzip::Engine.add_template_location < your_own_template_location(s) >
86
+ </pre>
87
+
88
+ This comes in very handy when building a Rails plugin that uses Jzip because you don't want to copy your all Jzip templates to @RAILS_ROOT/assets/jzip@. So let's say your plugin is called @betty@, all you have to do is put the following in it's @init.rb@ file:
89
+
90
+ <pre>
91
+ Jzip::Engine.add_template_location RAILS_ROOT + "vendor/plugins/betty/assets/jzip"
92
+ </pre>
93
+
94
+ Now isn't that a piece cake? Not only can you pass a @string@ containing the template location, you can also pass an @array of strings@ (containing multiple locations) or a @hash@ (which also specifies the output directory):
95
+
96
+ * @string@ - target directory will be @public/javascripts@
97
+
98
+ <pre>
99
+ RAILS_ROOT + "/lib/jzip
100
+ </pre>
101
+
102
+ * @array@ - target directory will be @public/javascripts@
103
+
104
+ <pre>
105
+ [RAILS_ROOT + "/some/path/jzip", RAILS_ROOT + "/vendor/plugins/foo/assets/jzip"]
106
+ </pre>
107
+
108
+ * @hash@ - target directory will be @public/javascripts/betty@
109
+
110
+ <pre>
111
+ {RAILS_ROOT + "/vendor/plugins/betty/assets/jzip" => RAILS_ROOT + "/public/javascripts/betty"}
112
+ </pre>
113
+
114
+ h3. Compile options
115
+
116
+ Finally, Jzip has some options that you can configure in the @environment.rb@ file:
117
+
118
+ * @:minify@ - Minify the merged Javascript file using the JSMin library (default: true when in production environment)
119
+ * @:always_update@ - Merge (and minify when specified) the Jzip templates on every page request when outdated (default: true when not in production environment)
120
+
121
+ You can specify a Jzip option by putting the following in your @environment.rb@ file:
122
+
123
+ <pre>
124
+ Jzip::Engine.options[:minify] = false
125
+ Jzip::Engine.options[:always_update] = true
126
+ </pre>
127
+
128
+ h2. Contact me
129
+
130
+ For support, remarks and requests please mail me at "paul.engel@holder.nl":mailto:paul.engel@holder.nl.
131
+
132
+ h2. Credit
133
+
134
+ This Rails engine is inspired by:
135
+
136
+ AssetPackager<br>
137
+ "http://github.com/sbecker/asset_packager/tree/master":http://github.com/sbecker/asset_packager/tree/master
138
+
139
+ SASS<br>
140
+ "http://sass-lang.com":http://sass-lang.com
141
+
142
+ Also, the Jzip engine makes use of the Ruby JavaScript Minifier created by Douglas Crockford<br>
143
+ "http://www.crockford.com/javascript/jsmin.html":http://www.crockford.com/javascript/jsmin.html
144
+
145
+ h2. ToDo's
146
+
147
+ None.
148
+
149
+ h2. License
150
+
151
+ Copyright (c) 2010 Paul Engel, released under the MIT license
152
+
153
+ "http://holder.nl":http://holder.nl - "http://codehero.es":http://codehero.es - "http://gettopup.com":http://gettopup.com - "http://twitter.com/archan937":http://twitter.com/archan937 - "paul.engel@holder.nl":mailto:paul.engel@holder.nl
154
+
155
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
156
+
157
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
158
+
159
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,42 @@
1
+ require "rake"
2
+ require "rake/testtask"
3
+ require "rake/rdoctask"
4
+
5
+ begin
6
+ require "jeweler"
7
+ Jeweler::Tasks.new do |gemspec|
8
+ gemspec.name = "jzip"
9
+ gemspec.summary = "Javascript merging and compression for Rails Apps"
10
+ gemspec.description = "Jzip was created due to the need of simply merging and minifying Javascript files to reduce HTTP requests and file size of application assets. Using sprites for images and SASS for stylesheets only left javascripts not be optimized.
11
+ AssetPackager almost suited the solution, but it hasn't got enough flexibility in configuration. So using AssetPackager and SASS for inspriration the Jzip gem was created."
12
+ gemspec.email = "paul.engel@holder.nl"
13
+ gemspec.homepage = "http://github.com/archan937/jzip"
14
+ gemspec.author = "Paul Engel"
15
+
16
+ gemspec.add_dependency "formtastic"
17
+ end
18
+ Jeweler::GemcutterTasks.new
19
+ rescue LoadError
20
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
21
+ end
22
+
23
+ desc "Default: run unit tests."
24
+ task :default => :test
25
+
26
+ desc "Test the jzip plugin."
27
+ Rake::TestTask.new(:test) do |t|
28
+ t.libs << "lib"
29
+ t.libs << "test"
30
+ t.pattern = "test/**/*_test.rb"
31
+ t.verbose = true
32
+ end
33
+
34
+ desc "Generate documentation for the jzip plugin."
35
+ Rake::RDocTask.new(:rdoc) do |rdoc|
36
+ rdoc.rdoc_dir = "rdoc"
37
+ rdoc.title = "Jzip"
38
+ rdoc.options << "--line-numbers" << "--inline-source"
39
+ rdoc.rdoc_files.include "README"
40
+ rdoc.rdoc_files.include "MIT-LICENSE"
41
+ rdoc.rdoc_files.include "lib/**/*.rb"
42
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.7
data/init.rb ADDED
@@ -0,0 +1 @@
1
+ require File.join(File.dirname(__FILE__), "rails", "init")
@@ -0,0 +1,3 @@
1
+
2
+ require File.expand_path(File.dirname(__FILE__) + "/../../../config/environment")
3
+ Jzip::Assets.install_defaults
@@ -0,0 +1,143 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{jzip}
8
+ s.version = "1.0.7"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Paul Engel"]
12
+ s.date = %q{2010-06-27}
13
+ s.description = %q{Jzip was created due to the need of simply merging and minifying Javascript files to reduce HTTP requests and file size of application assets. Using sprites for images and SASS for stylesheets only left javascripts not be optimized.
14
+ AssetPackager almost suited the solution, but it hasn't got enough flexibility in configuration. So using AssetPackager and SASS for inspriration the Jzip gem was created.}
15
+ s.email = %q{paul.engel@holder.nl}
16
+ s.extra_rdoc_files = [
17
+ "README.textile"
18
+ ]
19
+ s.files = [
20
+ ".gitignore",
21
+ "CHANGELOG",
22
+ "MIT-LICENSE",
23
+ "README.textile",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "init.rb",
27
+ "install.rb",
28
+ "jzip.gemspec",
29
+ "lib/jzip.rb",
30
+ "lib/jzip/actionpack.rb",
31
+ "lib/jzip/actionpack/action_controller/base.rb",
32
+ "lib/jzip/assets.rb",
33
+ "lib/jzip/core.rb",
34
+ "lib/jzip/core/string.rb",
35
+ "lib/jzip/core/string/analyzation.rb",
36
+ "lib/jzip/engine.rb",
37
+ "lib/jzip/engine/requirement.rb",
38
+ "lib/jzip/engine/support/jsmin.rb",
39
+ "lib/jzip/engine/support/minifier.rb",
40
+ "lib/jzip/engine/support/notifier.rb",
41
+ "lib/jzip/engine/template.rb",
42
+ "lib/jzip/plugin.rb",
43
+ "rails/init.rb",
44
+ "tasks/jzip.rake",
45
+ "test/actionpack/action_controller/base_test.rb",
46
+ "test/core/string/analyzation_test.rb",
47
+ "test/engine_test.rb",
48
+ "test/javascripts/after/compressed/public/javascripts/backend.js",
49
+ "test/javascripts/after/compressed/public/javascripts/defaults.js",
50
+ "test/javascripts/after/compressed/public/javascripts/frontend.js",
51
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/code_heroes/backend.js",
52
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/code_heroes/frontend.js",
53
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/code_heroes.js",
54
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/code_heroes/ajaxify.js",
55
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/ajax_setup.js",
56
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/class.js",
57
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/components/core.js",
58
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/extensions/core.js",
59
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/extensions/deparam.js",
60
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/jquery/seat_holder.js",
61
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/native/extensions/array.js",
62
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/native/extensions/string.js",
63
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/assets/jzip/shared/native/log.js",
64
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/application.js",
65
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/controls.js",
66
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/dragdrop.js",
67
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/effects.js",
68
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/public/javascripts/prototype.js",
69
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/tmp/jzip/public/javascripts/shared/_shared.js",
70
+ "test/javascripts/after/compressed/tmp/jzip/_minified_/tmp/jzip/public/javascripts/shared/jquery/_core.js",
71
+ "test/javascripts/after/compressed/tmp/jzip/public/javascripts/shared/_shared.js",
72
+ "test/javascripts/after/compressed/tmp/jzip/public/javascripts/shared/jquery/_core.js",
73
+ "test/javascripts/after/uncompressed/public/javascripts/backend.js",
74
+ "test/javascripts/after/uncompressed/public/javascripts/defaults.js",
75
+ "test/javascripts/after/uncompressed/public/javascripts/frontend.js",
76
+ "test/javascripts/after/uncompressed/tmp/jzip/public/javascripts/shared/_shared.js",
77
+ "test/javascripts/after/uncompressed/tmp/jzip/public/javascripts/shared/jquery/_core.js",
78
+ "test/javascripts/assets/jzip/backend.jz",
79
+ "test/javascripts/assets/jzip/code_heroes/backend.js",
80
+ "test/javascripts/assets/jzip/code_heroes/frontend.js",
81
+ "test/javascripts/assets/jzip/defaults.jz",
82
+ "test/javascripts/assets/jzip/frontend.jz",
83
+ "test/javascripts/assets/jzip/shared/_shared.jz",
84
+ "test/javascripts/assets/jzip/shared/code_heroes.js",
85
+ "test/javascripts/assets/jzip/shared/code_heroes/ajaxify.js",
86
+ "test/javascripts/assets/jzip/shared/jquery/_all.jz",
87
+ "test/javascripts/assets/jzip/shared/jquery/_core.fxc-clip.jz",
88
+ "test/javascripts/assets/jzip/shared/jquery/_core.jz",
89
+ "test/javascripts/assets/jzip/shared/jquery/_core.uic-resizable.jz",
90
+ "test/javascripts/assets/jzip/shared/jquery/_fxc-clip.jz",
91
+ "test/javascripts/assets/jzip/shared/jquery/_fxc-clip.uic-resizable.jz",
92
+ "test/javascripts/assets/jzip/shared/jquery/_uic-resizable.jz",
93
+ "test/javascripts/assets/jzip/shared/jquery/ajax_setup.js",
94
+ "test/javascripts/assets/jzip/shared/jquery/class.js",
95
+ "test/javascripts/assets/jzip/shared/jquery/components/core.js",
96
+ "test/javascripts/assets/jzip/shared/jquery/components/fxc-clip.js",
97
+ "test/javascripts/assets/jzip/shared/jquery/components/uic-resizable.js",
98
+ "test/javascripts/assets/jzip/shared/jquery/extensions/core.js",
99
+ "test/javascripts/assets/jzip/shared/jquery/extensions/deparam.js",
100
+ "test/javascripts/assets/jzip/shared/jquery/seat_holder.js",
101
+ "test/javascripts/assets/jzip/shared/native/extensions/array.js",
102
+ "test/javascripts/assets/jzip/shared/native/extensions/string.js",
103
+ "test/javascripts/assets/jzip/shared/native/log.js",
104
+ "test/javascripts/before/application.js",
105
+ "test/javascripts/before/controls.js",
106
+ "test/javascripts/before/dragdrop.js",
107
+ "test/javascripts/before/effects.js",
108
+ "test/javascripts/before/prototype.js",
109
+ "test/rails_root/compressed/assets/jzip/foo.js",
110
+ "test/rails_root/compressed/public/javascripts/foo.js",
111
+ "test/rails_root/uncompressed/assets/jzip/foo.js",
112
+ "test/rails_root/uncompressed/public/javascripts/foo.js",
113
+ "test/setup.rb",
114
+ "test/test_helper.rb",
115
+ "uninstall.rb"
116
+ ]
117
+ s.homepage = %q{http://github.com/archan937/jzip}
118
+ s.rdoc_options = ["--charset=UTF-8"]
119
+ s.require_paths = ["lib"]
120
+ s.rubygems_version = %q{1.3.7}
121
+ s.summary = %q{Javascript merging and compression for Rails Apps}
122
+ s.test_files = [
123
+ "test/actionpack/action_controller/base_test.rb",
124
+ "test/core/string/analyzation_test.rb",
125
+ "test/engine_test.rb",
126
+ "test/setup.rb",
127
+ "test/test_helper.rb"
128
+ ]
129
+
130
+ if s.respond_to? :specification_version then
131
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
132
+ s.specification_version = 3
133
+
134
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
135
+ s.add_runtime_dependency(%q<formtastic>, [">= 0"])
136
+ else
137
+ s.add_dependency(%q<formtastic>, [">= 0"])
138
+ end
139
+ else
140
+ s.add_dependency(%q<formtastic>, [">= 0"])
141
+ end
142
+ end
143
+