asset_hat 0.1.1 → 0.1.2
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.
- data/HISTORY +5 -0
- data/VERSION.yml +2 -2
- data/app/helpers/asset_hat_helper.rb +34 -10
- data/asset_hat.gemspec +2 -2
- data/lib/asset_hat.rb +4 -0
- data/test/test_helper.rb +8 -0
- metadata +2 -2
data/HISTORY
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
HISTORY
|
2
2
|
=======
|
3
3
|
|
4
|
+
Version 0.1.2 (2010-01-27)
|
5
|
+
--------------------------
|
6
|
+
* Memoized HTML output from `include_css` and `include_js` when
|
7
|
+
`AssetHat.cache?` is true.
|
8
|
+
|
4
9
|
Version 0.1.1 (2010-01-20)
|
5
10
|
--------------------------
|
6
11
|
* Rewrote `AssetHat::VERSION` to be based on `VERSION.yml`.
|
data/VERSION.yml
CHANGED
@@ -115,7 +115,18 @@ module AssetHatHelper
|
|
115
115
|
# <link href="/stylesheets/clearfix.min.css" ... />
|
116
116
|
|
117
117
|
return if args.blank?
|
118
|
-
|
118
|
+
|
119
|
+
AssetHat.html_cache ||= {}
|
120
|
+
AssetHat.html_cache[:css] ||= {}
|
121
|
+
cache_key = args.inspect
|
122
|
+
|
123
|
+
if !AssetHat.cache? || AssetHat.html_cache[:css][cache_key].blank?
|
124
|
+
# Generate HTML and write to cache
|
125
|
+
html = AssetHat.html_cache[:css][cache_key] = include_assets(:css, *args)
|
126
|
+
end
|
127
|
+
|
128
|
+
html ||= AssetHat.html_cache[:css][cache_key]
|
129
|
+
html
|
119
130
|
end
|
120
131
|
|
121
132
|
def include_js(*args)
|
@@ -154,18 +165,31 @@ module AssetHatHelper
|
|
154
165
|
# <script src="/javascripts/jquery.json.min.js" ...></script>
|
155
166
|
|
156
167
|
return if args.blank?
|
157
|
-
html = []
|
158
|
-
options = args.extract_options!
|
159
168
|
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
169
|
+
AssetHat.html_cache ||= {}
|
170
|
+
AssetHat.html_cache[:js] ||= {}
|
171
|
+
cache_key = args.inspect
|
172
|
+
|
173
|
+
if !AssetHat.cache? || AssetHat.html_cache[:js][cache_key].blank?
|
174
|
+
# Generate HTML and write to cache
|
175
|
+
|
176
|
+
html = []
|
177
|
+
options = args.extract_options!
|
178
|
+
|
179
|
+
included_vendors = (args & AssetHat::JS::VENDORS)
|
180
|
+
included_vendors.each do |vendor|
|
181
|
+
args.delete vendor
|
182
|
+
src = AssetHat::JS::Vendors.source_for(vendor, options.slice(:version))
|
183
|
+
html << include_assets(:js, src, :cache => true)
|
184
|
+
end
|
185
|
+
|
186
|
+
html << include_assets(:js, *(args + [options]))
|
187
|
+
html = html.join("\n").strip
|
188
|
+
AssetHat.html_cache[:js][cache_key] = html
|
165
189
|
end
|
166
190
|
|
167
|
-
html
|
168
|
-
html
|
191
|
+
html ||= AssetHat.html_cache[:js][cache_key]
|
192
|
+
html
|
169
193
|
end
|
170
194
|
|
171
195
|
end
|
data/asset_hat.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{asset_hat}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ron DeVera", "Mint Digital"]
|
12
|
-
s.date = %q{2010-01-
|
12
|
+
s.date = %q{2010-01-27}
|
13
13
|
s.description = %q{Minify, bundle, and optimize CSS/JS assets.}
|
14
14
|
s.email = %q{ronald.devera@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/asset_hat.rb
CHANGED
@@ -10,6 +10,10 @@ module AssetHat
|
|
10
10
|
STYLESHEETS_DIR = "#{ASSETS_DIR}/stylesheets"
|
11
11
|
CONFIG_FILEPATH = File.join(RAILS_ROOT, 'config', 'assets.yml')
|
12
12
|
|
13
|
+
class << self
|
14
|
+
attr_accessor :html_cache
|
15
|
+
end
|
16
|
+
|
13
17
|
def self.config
|
14
18
|
@@config ||= YAML.load(File.open(CONFIG_FILEPATH, 'r'))
|
15
19
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asset_hat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ron DeVera
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2010-01-
|
13
|
+
date: 2010-01-27 00:00:00 -05:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|