rails-ext 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- data/.git/index +0 -0
- data/.git/logs/HEAD +2 -0
- data/.git/logs/refs/heads/master +2 -0
- data/.git/logs/refs/remotes/origin/master +2 -0
- data/.git/objects/00/fd8045e0953bb11a521248dc27d4af2336c6d5 +0 -0
- data/.git/objects/0f/92cb7ae358323d43d026b83f7d1a4969cf7568 +0 -0
- data/.git/objects/15/6d9fb4d4fd605969b37fea59e57eb486d8d06f +0 -0
- data/.git/objects/31/2f74fcf97e832a3493accaf640f001d6d85170 +0 -0
- data/.git/objects/46/d12e0420cd6341a2720730cc45703fc835efb6 +0 -0
- data/.git/objects/4d/b378ba37f16ac1172ed36b47659e765ac4f7ba +0 -0
- data/.git/objects/56/d4d25c979129176da0f447726f3eecf611973b +0 -0
- data/.git/objects/58/a36c1e8bc71d6e30be10121b94a377eb42ffc6 +0 -0
- data/.git/objects/66/37f98202acb1895cb347d7c5fb5c414dd9e6db +0 -0
- data/.git/objects/6a/cdfb69624140a67634b65ab8230cc5e0ffd543 +0 -0
- data/.git/objects/7d/6cd855bdf8661fab653f9f2de1195a6552e458 +0 -0
- data/.git/objects/81/d4aa3b627dfc7397ce3f71577a8307324b8289 +0 -0
- data/.git/objects/8c/4648d7c914e9d60dc387ff801c97b2d19c97f7 +3 -0
- data/.git/objects/bb/05a580a8afe6e3078b8e6ec4cda41fdc266f5d +0 -0
- data/.git/objects/dc/d404a6183c1b2160add042127ada7ff83c9b7c +0 -0
- data/.git/objects/f4/2863a866b6cd3bb09d0482052cbf2da7fb4e5a +0 -0
- data/.git/objects/fe/c19d13244f6b439e234e1af2e2e6d1f886b2fb +0 -0
- data/.git/refs/heads/master +1 -1
- data/.git/refs/remotes/origin/master +1 -1
- data/Rakefile +1 -1
- data/lib/asset_packager/action_view.rb +46 -0
- data/lib/asset_packager/asset_packager.rb +110 -0
- data/lib/asset_packager/jsmin.rb +205 -0
- data/lib/asset_packager/tasks.rb +27 -0
- data/lib/rails_ext/mongo_mapper.rb +5 -5
- data/lib/rails_ext.rb +7 -1
- data/public/rails_ext/rails_ext.js +2 -2
- metadata +23 -2
data/.git/index
CHANGED
Binary file
|
data/.git/logs/HEAD
CHANGED
@@ -18,3 +18,5 @@ ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 8203c2c6cdd29e1e20e88fbb81e63b7ea1ec289
|
|
18
18
|
4966cd792ea3e03d5091aa7a332f2a082e479a76 c1424cadd8817a7e927742e52945f303b38e7222 alex <alex@amac.local> 1264099114 +0300 commit: update i18n & mongomapper
|
19
19
|
c1424cadd8817a7e927742e52945f303b38e7222 4b679db9ab667a78890277de9a35c46250f14c7f alex <alex@amac.local> 1265027736 +0300 commit: upd
|
20
20
|
4b679db9ab667a78890277de9a35c46250f14c7f f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 alex <alex@amac.local> 1265027909 +0300 commit: upd
|
21
|
+
f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 bb05a580a8afe6e3078b8e6ec4cda41fdc266f5d alex <alex@amac.local> 1265195439 +0300 commit: add asset packager
|
22
|
+
bb05a580a8afe6e3078b8e6ec4cda41fdc266f5d fec19d13244f6b439e234e1af2e2e6d1f886b2fb alex <alex@amac.local> 1265195471 +0300 commit: upd
|
data/.git/logs/refs/heads/master
CHANGED
@@ -18,3 +18,5 @@ ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 8203c2c6cdd29e1e20e88fbb81e63b7ea1ec289
|
|
18
18
|
4966cd792ea3e03d5091aa7a332f2a082e479a76 c1424cadd8817a7e927742e52945f303b38e7222 alex <alex@amac.local> 1264099114 +0300 commit: update i18n & mongomapper
|
19
19
|
c1424cadd8817a7e927742e52945f303b38e7222 4b679db9ab667a78890277de9a35c46250f14c7f alex <alex@amac.local> 1265027736 +0300 commit: upd
|
20
20
|
4b679db9ab667a78890277de9a35c46250f14c7f f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 alex <alex@amac.local> 1265027909 +0300 commit: upd
|
21
|
+
f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 bb05a580a8afe6e3078b8e6ec4cda41fdc266f5d alex <alex@amac.local> 1265195439 +0300 commit: add asset packager
|
22
|
+
bb05a580a8afe6e3078b8e6ec4cda41fdc266f5d fec19d13244f6b439e234e1af2e2e6d1f886b2fb alex <alex@amac.local> 1265195471 +0300 commit: upd
|
@@ -17,3 +17,5 @@ ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 8203c2c6cdd29e1e20e88fbb81e63b7ea1ec289
|
|
17
17
|
4966cd792ea3e03d5091aa7a332f2a082e479a76 c1424cadd8817a7e927742e52945f303b38e7222 alex <alex@amac.local> 1264099121 +0300 update by push
|
18
18
|
c1424cadd8817a7e927742e52945f303b38e7222 4b679db9ab667a78890277de9a35c46250f14c7f alex <alex@amac.local> 1265027742 +0300 update by push
|
19
19
|
4b679db9ab667a78890277de9a35c46250f14c7f f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 alex <alex@amac.local> 1265027917 +0300 update by push
|
20
|
+
f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 bb05a580a8afe6e3078b8e6ec4cda41fdc266f5d alex <alex@amac.local> 1265195456 +0300 update by push
|
21
|
+
bb05a580a8afe6e3078b8e6ec4cda41fdc266f5d fec19d13244f6b439e234e1af2e2e6d1f886b2fb alex <alex@amac.local> 1265195475 +0300 update by push
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/.git/refs/heads/master
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
fec19d13244f6b439e234e1af2e2e6d1f886b2fb
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
fec19d13244f6b439e234e1af2e2e6d1f886b2fb
|
data/Rakefile
CHANGED
@@ -18,7 +18,7 @@ require 'fileutils'
|
|
18
18
|
|
19
19
|
spec = Gem::Specification.new do |s|
|
20
20
|
s.name = "rails-ext"
|
21
|
-
s.version = "0.2.
|
21
|
+
s.version = "0.2.8"
|
22
22
|
s.summary = "Set of common Ruby on Rails extensions"
|
23
23
|
s.description = "Set of common Ruby on Rails extensions"
|
24
24
|
s.author = "Alexey Petrushin"
|
@@ -0,0 +1,46 @@
|
|
1
|
+
ActionView::Base.class_eval do
|
2
|
+
def merged_javascripts *package_names
|
3
|
+
merged_packages 'javascripts', package_names
|
4
|
+
end
|
5
|
+
|
6
|
+
def merged_stylesheets *package_names
|
7
|
+
merged_packages 'stylesheets', package_names
|
8
|
+
end
|
9
|
+
|
10
|
+
protected
|
11
|
+
def merged_packages thetype, package_names
|
12
|
+
found_packages = {}
|
13
|
+
|
14
|
+
package_names.each do |pname|
|
15
|
+
AssetPackager.definitions.each do |path, package_types|
|
16
|
+
package_types.each do |type, packages|
|
17
|
+
next unless type == thetype
|
18
|
+
packages.each do |name, files|
|
19
|
+
found_packages[name] = files if name == pname.to_s
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
found_packages.size.should! :==, package_names.size
|
26
|
+
|
27
|
+
if AssetPackager.merge_environments.include? Rails.env
|
28
|
+
found_packages.collect do |name, files|
|
29
|
+
AssetPackager.filename_for_builded_package type, name
|
30
|
+
end
|
31
|
+
else
|
32
|
+
list = []
|
33
|
+
found_packages.each do |name, files|
|
34
|
+
files.each do |fname|
|
35
|
+
fname = if fname =~ /\A\//
|
36
|
+
fname
|
37
|
+
else
|
38
|
+
"/#{fname}"
|
39
|
+
end
|
40
|
+
list.push fname
|
41
|
+
end
|
42
|
+
end
|
43
|
+
list
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
module AssetPackager
|
2
|
+
class << self
|
3
|
+
def add yaml_file_path, asset_path
|
4
|
+
definition = YAML.load File.read(yaml_file_path)
|
5
|
+
definition.should! :be_a, Hash
|
6
|
+
self.definitions[asset_path] = definition
|
7
|
+
end
|
8
|
+
|
9
|
+
def build_all
|
10
|
+
definitions.each do |path, package_types|
|
11
|
+
package_types.each do |type, package|
|
12
|
+
package.each do |name, files|
|
13
|
+
build = self.send "build_#{type}", path, name, files
|
14
|
+
fname = public_root + filename_for_builded_package(type, name)
|
15
|
+
File.open(fname, "w"){|f| f.write(build)}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def delete_all
|
22
|
+
definitions.each do |path, package_types|
|
23
|
+
package_types.each do |type, package|
|
24
|
+
package.each do |name, files|
|
25
|
+
fname = public_root + filename_for_builded_package(type, name)
|
26
|
+
File.delete fname if File.exist? fname
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def filename_for_builded_package type, package
|
33
|
+
type = type.to_s
|
34
|
+
"/#{type}/#{package}_packaged.#{AssetPackager.resources_extensions[type]}"
|
35
|
+
end
|
36
|
+
|
37
|
+
def definitions
|
38
|
+
@definitions ||= {}
|
39
|
+
end
|
40
|
+
|
41
|
+
def merge_environments
|
42
|
+
@merge_environments ||= ["production"]
|
43
|
+
end
|
44
|
+
|
45
|
+
protected
|
46
|
+
def public_root
|
47
|
+
"#{Rails.root}/public"
|
48
|
+
end
|
49
|
+
|
50
|
+
def tmp_path
|
51
|
+
"#{Rails.root}/tmp"
|
52
|
+
end
|
53
|
+
|
54
|
+
def resources_extensions
|
55
|
+
@resources_extensions ||= {
|
56
|
+
'javascripts' => 'js',
|
57
|
+
'stylesheets' => 'css'
|
58
|
+
}
|
59
|
+
end
|
60
|
+
|
61
|
+
def build_javascripts path_to_files, package, files
|
62
|
+
merged = merge_file path_to_files, files
|
63
|
+
|
64
|
+
# write out to a temp file
|
65
|
+
tmp_file = "#{tmp_path}/#{package}_packaged"
|
66
|
+
File.open("#{tmp_file}_uncompressed.js", "w"){|f| f.write(merged)}
|
67
|
+
|
68
|
+
# compress file with JSMin library
|
69
|
+
jsmin = "#{File.dirname(__FILE__)}/jsmin.rb"
|
70
|
+
`ruby #{jsmin} <#{tmp_file}_uncompressed.js >#{tmp_file}_compressed.js \n`
|
71
|
+
|
72
|
+
# read it back in and trim it
|
73
|
+
result = ""
|
74
|
+
File.open("#{tmp_file}_compressed.js", "r") { |f| result += f.read.strip }
|
75
|
+
|
76
|
+
# delete temp files if they exist
|
77
|
+
File.delete("#{tmp_file}_uncompressed.js") if File.exists?("#{tmp_file}_uncompressed.js")
|
78
|
+
File.delete("#{tmp_file}_compressed.js") if File.exists?("#{tmp_file}_compressed.js")
|
79
|
+
|
80
|
+
result
|
81
|
+
end
|
82
|
+
|
83
|
+
def build_stylesheets path_to_files, package, files
|
84
|
+
merged = merge_file path_to_files, files
|
85
|
+
|
86
|
+
merged.gsub!(/\s+/, " ") # collapse space
|
87
|
+
merged.gsub!(/\/\*(.*?)\*\//, "") # remove comments - caution, might want to remove this if using css hacks
|
88
|
+
merged.gsub!(/\} /, "}\n") # add line breaks
|
89
|
+
merged.gsub!(/\n$/, "") # remove last break
|
90
|
+
merged.gsub!(/ \{ /, " {") # trim inside brackets
|
91
|
+
merged.gsub!(/; \}/, "}") # trim inside brackets
|
92
|
+
merged
|
93
|
+
end
|
94
|
+
|
95
|
+
def merge_file path_to_files, files
|
96
|
+
merged_file = ""
|
97
|
+
files.each do |fname|
|
98
|
+
full_path = if fname =~ /\A\//
|
99
|
+
"#{public_root}#{fname}"
|
100
|
+
else
|
101
|
+
"#{path_to_files}/#{fname}"
|
102
|
+
end
|
103
|
+
File.open(full_path, "r") do |f|
|
104
|
+
merged_file += f.read + "\n"
|
105
|
+
end
|
106
|
+
end
|
107
|
+
merged_file
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,205 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
# jsmin.rb 2007-07-20
|
3
|
+
# Author: Uladzislau Latynski
|
4
|
+
# This work is a translation from C to Ruby of jsmin.c published by
|
5
|
+
# Douglas Crockford. Permission is hereby granted to use the Ruby
|
6
|
+
# version under the same conditions as the jsmin.c on which it is
|
7
|
+
# based.
|
8
|
+
#
|
9
|
+
# /* jsmin.c
|
10
|
+
# 2003-04-21
|
11
|
+
#
|
12
|
+
# Copyright (c) 2002 Douglas Crockford (www.crockford.com)
|
13
|
+
#
|
14
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
15
|
+
# this software and associated documentation files (the "Software"), to deal in
|
16
|
+
# the Software without restriction, including without limitation the rights to
|
17
|
+
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
18
|
+
# of the Software, and to permit persons to whom the Software is furnished to do
|
19
|
+
# so, subject to the following conditions:
|
20
|
+
#
|
21
|
+
# The above copyright notice and this permission notice shall be included in all
|
22
|
+
# copies or substantial portions of the Software.
|
23
|
+
#
|
24
|
+
# The Software shall be used for Good, not Evil.
|
25
|
+
#
|
26
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
27
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
28
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
29
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
30
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
31
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
32
|
+
# SOFTWARE.
|
33
|
+
|
34
|
+
EOF = -1
|
35
|
+
$theA = ""
|
36
|
+
$theB = ""
|
37
|
+
|
38
|
+
# isAlphanum -- return true if the character is a letter, digit, underscore,
|
39
|
+
# dollar sign, or non-ASCII character
|
40
|
+
def isAlphanum(c)
|
41
|
+
return false if !c || c == EOF
|
42
|
+
return ((c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') ||
|
43
|
+
(c >= 'A' && c <= 'Z') || c == '_' || c == '$' ||
|
44
|
+
c == '\\' || c[0] > 126)
|
45
|
+
end
|
46
|
+
|
47
|
+
# get -- return the next character from stdin. Watch out for lookahead. If
|
48
|
+
# the character is a control character, translate it to a space or linefeed.
|
49
|
+
def get()
|
50
|
+
c = $stdin.getc
|
51
|
+
return EOF if(!c)
|
52
|
+
c = c.chr
|
53
|
+
return c if (c >= " " || c == "\n" || c.unpack("c") == EOF)
|
54
|
+
return "\n" if (c == "\r")
|
55
|
+
return " "
|
56
|
+
end
|
57
|
+
|
58
|
+
# Get the next character without getting it.
|
59
|
+
def peek()
|
60
|
+
lookaheadChar = $stdin.getc
|
61
|
+
$stdin.ungetc(lookaheadChar)
|
62
|
+
return lookaheadChar.chr
|
63
|
+
end
|
64
|
+
|
65
|
+
# mynext -- get the next character, excluding comments.
|
66
|
+
# peek() is used to see if a '/' is followed by a '/' or '*'.
|
67
|
+
def mynext()
|
68
|
+
c = get
|
69
|
+
if (c == "/")
|
70
|
+
if(peek == "/")
|
71
|
+
while(true)
|
72
|
+
c = get
|
73
|
+
if (c <= "\n")
|
74
|
+
return c
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
if(peek == "*")
|
79
|
+
get
|
80
|
+
while(true)
|
81
|
+
case get
|
82
|
+
when "*"
|
83
|
+
if (peek == "/")
|
84
|
+
get
|
85
|
+
return " "
|
86
|
+
end
|
87
|
+
when EOF
|
88
|
+
raise "Unterminated comment"
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
return c
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
# action -- do something! What you do is determined by the argument: 1
|
98
|
+
# Output A. Copy B to A. Get the next B. 2 Copy B to A. Get the next B.
|
99
|
+
# (Delete A). 3 Get the next B. (Delete B). action treats a string as a
|
100
|
+
# single character. Wow! action recognizes a regular expression if it is
|
101
|
+
# preceded by ( or , or =.
|
102
|
+
def action(a)
|
103
|
+
if(a==1)
|
104
|
+
$stdout.write $theA
|
105
|
+
end
|
106
|
+
if(a==1 || a==2)
|
107
|
+
$theA = $theB
|
108
|
+
if ($theA == "\'" || $theA == "\"")
|
109
|
+
while (true)
|
110
|
+
$stdout.write $theA
|
111
|
+
$theA = get
|
112
|
+
break if ($theA == $theB)
|
113
|
+
raise "Unterminated string literal" if ($theA <= "\n")
|
114
|
+
if ($theA == "\\")
|
115
|
+
$stdout.write $theA
|
116
|
+
$theA = get
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
if(a==1 || a==2 || a==3)
|
122
|
+
$theB = mynext
|
123
|
+
if ($theB == "/" && ($theA == "(" || $theA == "," || $theA == "=" ||
|
124
|
+
$theA == ":" || $theA == "[" || $theA == "!" ||
|
125
|
+
$theA == "&" || $theA == "|" || $theA == "?" ||
|
126
|
+
$theA == "{" || $theA == "}" || $theA == ";" ||
|
127
|
+
$theA == "\n"))
|
128
|
+
$stdout.write $theA
|
129
|
+
$stdout.write $theB
|
130
|
+
while (true)
|
131
|
+
$theA = get
|
132
|
+
if ($theA == "/")
|
133
|
+
break
|
134
|
+
elsif ($theA == "\\")
|
135
|
+
$stdout.write $theA
|
136
|
+
$theA = get
|
137
|
+
elsif ($theA <= "\n")
|
138
|
+
raise "Unterminated RegExp Literal"
|
139
|
+
end
|
140
|
+
$stdout.write $theA
|
141
|
+
end
|
142
|
+
$theB = mynext
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
# jsmin -- Copy the input to the output, deleting the characters which are
|
148
|
+
# insignificant to JavaScript. Comments will be removed. Tabs will be
|
149
|
+
# replaced with spaces. Carriage returns will be replaced with linefeeds.
|
150
|
+
# Most spaces and linefeeds will be removed.
|
151
|
+
def jsmin
|
152
|
+
$theA = "\n"
|
153
|
+
action(3)
|
154
|
+
while ($theA != EOF)
|
155
|
+
case $theA
|
156
|
+
when " "
|
157
|
+
if (isAlphanum($theB))
|
158
|
+
action(1)
|
159
|
+
else
|
160
|
+
action(2)
|
161
|
+
end
|
162
|
+
when "\n"
|
163
|
+
case ($theB)
|
164
|
+
when "{","[","(","+","-"
|
165
|
+
action(1)
|
166
|
+
when " "
|
167
|
+
action(3)
|
168
|
+
else
|
169
|
+
if (isAlphanum($theB))
|
170
|
+
action(1)
|
171
|
+
else
|
172
|
+
action(2)
|
173
|
+
end
|
174
|
+
end
|
175
|
+
else
|
176
|
+
case ($theB)
|
177
|
+
when " "
|
178
|
+
if (isAlphanum($theA))
|
179
|
+
action(1)
|
180
|
+
else
|
181
|
+
action(3)
|
182
|
+
end
|
183
|
+
when "\n"
|
184
|
+
case ($theA)
|
185
|
+
when "}","]",")","+","-","\"","\\", "'", '"'
|
186
|
+
action(1)
|
187
|
+
else
|
188
|
+
if (isAlphanum($theA))
|
189
|
+
action(1)
|
190
|
+
else
|
191
|
+
action(3)
|
192
|
+
end
|
193
|
+
end
|
194
|
+
else
|
195
|
+
action(1)
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
ARGV.each do |anArg|
|
202
|
+
$stdout.write "// #{anArg}\n"
|
203
|
+
end
|
204
|
+
|
205
|
+
jsmin
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Doesn't works if it's included in Rails, should be explicitly copied to tasks folder.
|
2
|
+
|
3
|
+
namespace :asset do
|
4
|
+
namespace :packager do
|
5
|
+
|
6
|
+
desc "Merge and compress assets"
|
7
|
+
task :build_all => :environment do
|
8
|
+
require 'yaml'
|
9
|
+
require 'asset_packager/asset_packager'
|
10
|
+
|
11
|
+
AssetPackager.build_all
|
12
|
+
|
13
|
+
puts "Asset builded"
|
14
|
+
end
|
15
|
+
|
16
|
+
desc "Delete all asset builds"
|
17
|
+
task :delete_all do
|
18
|
+
require 'yaml'
|
19
|
+
require 'asset_packager/asset_packager'
|
20
|
+
|
21
|
+
AssetPackager.delete_all
|
22
|
+
|
23
|
+
puts "Asset Builds deleted"
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
data/lib/rails_ext.rb
CHANGED
@@ -22,4 +22,10 @@ require 'rails_ext/micelaneous'
|
|
22
22
|
|
23
23
|
# right now globalize2 not accessible as gem (it's broken)
|
24
24
|
# so, we need to include it as rails plugin and include this in initializer.
|
25
|
-
# require 'rails_ext/i18n_helper'
|
25
|
+
# require 'rails_ext/i18n_helper'
|
26
|
+
|
27
|
+
#
|
28
|
+
# AssetPackager
|
29
|
+
#
|
30
|
+
require 'asset_packager/asset_packager'
|
31
|
+
require 'asset_packager/action_view'
|
@@ -89,11 +89,11 @@ $.fn.extend({
|
|
89
89
|
},
|
90
90
|
|
91
91
|
first: function(){
|
92
|
-
return
|
92
|
+
return (this.size() > 0) ? $(this[0]) : null
|
93
93
|
},
|
94
94
|
|
95
95
|
last: function(){
|
96
|
-
return
|
96
|
+
return (this.size() > 0) ? $(this[this.size() - 1]) : null
|
97
97
|
},
|
98
98
|
|
99
99
|
blank: function(){
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexey Petrushin
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-02-
|
12
|
+
date: 2010-02-03 00:00:00 +03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -55,6 +55,7 @@ files:
|
|
55
55
|
- .git/logs/refs/heads/master
|
56
56
|
- .git/logs/refs/remotes/origin/master
|
57
57
|
- .git/objects/00/cc0fab85c28c827b7489c092c7fdfacaab2c15
|
58
|
+
- .git/objects/00/fd8045e0953bb11a521248dc27d4af2336c6d5
|
58
59
|
- .git/objects/02/469b717b4bd61ad27a3fe664ce0646a8325399
|
59
60
|
- .git/objects/06/c3225bad9d5b80e7b3bde79ff3c2da591722bf
|
60
61
|
- .git/objects/07/9ef6b10f536af792f4cf5d131857baa28751e7
|
@@ -62,6 +63,7 @@ files:
|
|
62
63
|
- .git/objects/09/20505d42c0044b31ff7b1f86cec6e282e13414
|
63
64
|
- .git/objects/0b/3b3d1048f25fdc0de3f680cdbbd867a42b5a95
|
64
65
|
- .git/objects/0b/e101a0586410212b4ee5905881ad726b7b4907
|
66
|
+
- .git/objects/0f/92cb7ae358323d43d026b83f7d1a4969cf7568
|
65
67
|
- .git/objects/0f/d3ac42b07c2d3102263bd939704f5633db304e
|
66
68
|
- .git/objects/10/1f52d83027dfe5798f87aec1118f02d19e5cf8
|
67
69
|
- .git/objects/10/bfe1230b9d96e23600091cc8b4b9d378068101
|
@@ -69,6 +71,7 @@ files:
|
|
69
71
|
- .git/objects/13/d5e53963c37e20ff517035b00f6b404c0e8056
|
70
72
|
- .git/objects/15/351f2f81548a7a0d9c4a6690894a42262fb7f5
|
71
73
|
- .git/objects/15/3f845625a0f605a2a35487a32038d0349bc386
|
74
|
+
- .git/objects/15/6d9fb4d4fd605969b37fea59e57eb486d8d06f
|
72
75
|
- .git/objects/18/17673317d63a90369c9f7abdc6f0113f42050f
|
73
76
|
- .git/objects/18/77033b90ed3dd55a3034b7e3ca1c5c9f66868d
|
74
77
|
- .git/objects/19/1f68644a3646d774f2546c4cd49ac7d66f4cc2
|
@@ -86,6 +89,7 @@ files:
|
|
86
89
|
- .git/objects/2e/f02adc5485c579d75dfacf7034b20760f2fdf4
|
87
90
|
- .git/objects/30/69d4978bbdfacf4402c4339438b29657275f2c
|
88
91
|
- .git/objects/30/e5bf9c61cc450f8024ab7029a490d7fb9f3ff7
|
92
|
+
- .git/objects/31/2f74fcf97e832a3493accaf640f001d6d85170
|
89
93
|
- .git/objects/33/9755448515fb77f691d6197bd65d5b5d53fc24
|
90
94
|
- .git/objects/36/66d56066f3aeb0f9fc342de42f25e298341a61
|
91
95
|
- .git/objects/36/9902ca51d5820a02ccccbf1cac6ed09051941d
|
@@ -96,16 +100,20 @@ files:
|
|
96
100
|
- .git/objects/3f/3db6bb5a5204ae58e303959c4c0da3a70d8b35
|
97
101
|
- .git/objects/40/215c0554202fc46dc2fca94ed21e2920ce1e84
|
98
102
|
- .git/objects/40/7adfb7f6188b0bb0b88cf9391943e1aaa32374
|
103
|
+
- .git/objects/46/d12e0420cd6341a2720730cc45703fc835efb6
|
99
104
|
- .git/objects/49/66cd792ea3e03d5091aa7a332f2a082e479a76
|
100
105
|
- .git/objects/4b/2bdb2dc6330ba9bafd9058ec8eaa925ef53f91
|
101
106
|
- .git/objects/4b/679db9ab667a78890277de9a35c46250f14c7f
|
102
107
|
- .git/objects/4c/c50af870afc44ad7a42ae722e74cab60d65af9
|
103
108
|
- .git/objects/4d/991a018b0c697fa119efe7aaf55df0a1c7af8e
|
109
|
+
- .git/objects/4d/b378ba37f16ac1172ed36b47659e765ac4f7ba
|
104
110
|
- .git/objects/4f/2c09cf4d187a86ce37983eb76211ebabdb45d0
|
105
111
|
- .git/objects/4f/fa8f1c9b7e3fdbb23ab600722d1011dcb48cec
|
106
112
|
- .git/objects/53/8aca7c60ef3cdfde25d4698e8e133ce18e512e
|
107
113
|
- .git/objects/55/d1f1efc344266d472094b1fd2f247b97de1c8b
|
114
|
+
- .git/objects/56/d4d25c979129176da0f447726f3eecf611973b
|
108
115
|
- .git/objects/57/8a722fd66124331e07123e3a0de2b6b50a581b
|
116
|
+
- .git/objects/58/a36c1e8bc71d6e30be10121b94a377eb42ffc6
|
109
117
|
- .git/objects/59/0ef6ba9931d75fbddc7a940044dbaaa50efc76
|
110
118
|
- .git/objects/59/7b19d2ba6f1d46f75f702cbacf8828b7b506f9
|
111
119
|
- .git/objects/5a/35fa85474278f3c817aa59d07b725428c41a28
|
@@ -113,9 +121,11 @@ files:
|
|
113
121
|
- .git/objects/61/32f3f8005ce5b88165162ac5542e54d0472a82
|
114
122
|
- .git/objects/62/881631df674271b3880d9ca46bd76401e1a42e
|
115
123
|
- .git/objects/65/51094fa3b996ff25b88d7ddb21d21a811d53fc
|
124
|
+
- .git/objects/66/37f98202acb1895cb347d7c5fb5c414dd9e6db
|
116
125
|
- .git/objects/67/850cf1ede94d80c9b07ceace074a4d62f15249
|
117
126
|
- .git/objects/68/8ce506ac4f7c160bd6880d8507820761a3b3b7
|
118
127
|
- .git/objects/6a/90d6784ac3b6580ef470dac68c2d93c276d6a7
|
128
|
+
- .git/objects/6a/cdfb69624140a67634b65ab8230cc5e0ffd543
|
119
129
|
- .git/objects/6d/85efe0589aa745a632d38314b7b5902a8874c0
|
120
130
|
- .git/objects/6d/f725e3519872a75bc763045f00d8844eb890cf
|
121
131
|
- .git/objects/71/e6b43e9d41f9903992fd86d483b7d3e4dd28cd
|
@@ -124,14 +134,17 @@ files:
|
|
124
134
|
- .git/objects/76/d3cd0f31cfb174c2411be5636a8257e7af613a
|
125
135
|
- .git/objects/77/6e03ab9139aab1e0e8d551a75c3c0145fd9322
|
126
136
|
- .git/objects/7d/156826045e2eef7611f3fcad3adee9c17c2c02
|
137
|
+
- .git/objects/7d/6cd855bdf8661fab653f9f2de1195a6552e458
|
127
138
|
- .git/objects/7d/978ee312ca2119dc84e40431182b8f68e42f53
|
128
139
|
- .git/objects/7e/ca6f113845c2dcdf536daa084349445d608879
|
140
|
+
- .git/objects/81/d4aa3b627dfc7397ce3f71577a8307324b8289
|
129
141
|
- .git/objects/82/03c2c6cdd29e1e20e88fbb81e63b7ea1ec2899
|
130
142
|
- .git/objects/85/eee9f4c1a6f710ed87bf28a0531275777f8848
|
131
143
|
- .git/objects/86/b31b604469e9b261f4e5b927932504bca8c402
|
132
144
|
- .git/objects/87/fc827fd223cac6b4e55d823a9ea86bb0726a3b
|
133
145
|
- .git/objects/89/2697494eb70fdccaf26bf547bb8d7428c0e5ff
|
134
146
|
- .git/objects/8b/7fd3b87e0f2fce82705c50e7c48f9496b7666e
|
147
|
+
- .git/objects/8c/4648d7c914e9d60dc387ff801c97b2d19c97f7
|
135
148
|
- .git/objects/8d/4dcde8df4da8f53f5f5313757b907e9aa1af66
|
136
149
|
- .git/objects/8e/69b6cf3ec8b49270091b4a206ccf326679dc20
|
137
150
|
- .git/objects/92/e1c250edfca72ed0932934257ef3cfc7122ec5
|
@@ -159,6 +172,7 @@ files:
|
|
159
172
|
- .git/objects/b5/edd343ceb8e87d1a73922612aec210b393f839
|
160
173
|
- .git/objects/b7/88e3ac322b164a2a223f80f8a6da0836d9d1dd
|
161
174
|
- .git/objects/ba/67eef0f58a44e4b39af605d45e1e958023588d
|
175
|
+
- .git/objects/bb/05a580a8afe6e3078b8e6ec4cda41fdc266f5d
|
162
176
|
- .git/objects/bb/23236d2e8340087cc495c66310e6eb90d6fe0a
|
163
177
|
- .git/objects/bc/90a06dd2f2257e8da49989738db5747e2b78d8
|
164
178
|
- .git/objects/bd/eab0ec8a914cdd8c9341340191c116a4bf2d3e
|
@@ -183,6 +197,7 @@ files:
|
|
183
197
|
- .git/objects/d9/0981681872c639fc00eb95ffa9dc17ad9f9599
|
184
198
|
- .git/objects/db/951c9a303fba608e0066e2aa68c3b7d8d9aea6
|
185
199
|
- .git/objects/db/d962bcfbb85c6da46c868594983f3cda9fcad8
|
200
|
+
- .git/objects/dc/d404a6183c1b2160add042127ada7ff83c9b7c
|
186
201
|
- .git/objects/dd/ad36d883dd04cb1b68f0f81d5b3fa98b8551e3
|
187
202
|
- .git/objects/de/10bee1e91cfbd53ccaa073aada68cbfeac22d8
|
188
203
|
- .git/objects/de/57906fbec41c830adf724743fd20dba762acab
|
@@ -207,12 +222,14 @@ files:
|
|
207
222
|
- .git/objects/f2/efda050bcf5d33d3f8e8fb2848b0be926c1731
|
208
223
|
- .git/objects/f3/3573a82a9e7dbf9bc7f5b3feded4c223701d1f
|
209
224
|
- .git/objects/f3/7784042bc99c16c02fd104dda82aafa42d4c9c
|
225
|
+
- .git/objects/f4/2863a866b6cd3bb09d0482052cbf2da7fb4e5a
|
210
226
|
- .git/objects/f5/91a5c39e03e2102c9101db957b48c8c76e194c
|
211
227
|
- .git/objects/f6/3ad03a8daa1602df63aab3838947c18fa63797
|
212
228
|
- .git/objects/f9/8d0f95460a7a3f63ab4c08ad5508fd32d1b5c2
|
213
229
|
- .git/objects/f9/ef6dd08a60dec5d5e4e7a9b08f693ebf76da39
|
214
230
|
- .git/objects/fa/4e345a8b9a12bf1cf7af254b3caa111b04191b
|
215
231
|
- .git/objects/fb/05e1cc9825c59c7edc596c05077a1eed9c321e
|
232
|
+
- .git/objects/fe/c19d13244f6b439e234e1af2e2e6d1f886b2fb
|
216
233
|
- .git/objects/pack/pack-c7edd4d292858ed6a37a55c1b6ceb35f65f4587e.idx
|
217
234
|
- .git/objects/pack/pack-c7edd4d292858ed6a37a55c1b6ceb35f65f4587e.pack
|
218
235
|
- .git/ORIG_HEAD
|
@@ -220,6 +237,10 @@ files:
|
|
220
237
|
- .git/refs/heads/master
|
221
238
|
- .git/refs/remotes/origin/HEAD
|
222
239
|
- .git/refs/remotes/origin/master
|
240
|
+
- lib/asset_packager/action_view.rb
|
241
|
+
- lib/asset_packager/asset_packager.rb
|
242
|
+
- lib/asset_packager/jsmin.rb
|
243
|
+
- lib/asset_packager/tasks.rb
|
223
244
|
- lib/rails_ext/action_controller.rb
|
224
245
|
- lib/rails_ext/action_controller_ext.rb
|
225
246
|
- lib/rails_ext/action_view.rb
|