rapper 0.2.4 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -2
- data/README.markdown +3 -2
- data/VERSION +1 -1
- data/lib/rapper/compressors.rb +19 -1
- data/lib/rapper/errors.rb +3 -0
- data/lib/rapper/helpers.rb +6 -6
- data/lib/rapper/html_tags.rb +20 -13
- data/lib/rapper/utils.rb +7 -2
- data/rapper.gemspec +6 -5
- data/spec/fixtures/config/asset_definitions/missing_file/stylesheets.yml +10 -0
- data/spec/fixtures/config/assets.yml +3 -0
- data/spec/rapper_spec.rb +58 -32
- metadata +33 -32
data/Gemfile
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
gem "closure-compiler", "~> 1.0.0"
|
4
|
-
|
5
3
|
group :development do
|
6
4
|
gem "rspec", "~> 1.3.1"
|
7
5
|
gem "yard", "~> 0.6.4"
|
@@ -9,4 +7,5 @@ group :development do
|
|
9
7
|
gem "bundler", "~> 1.0.0"
|
10
8
|
gem "jeweler", "~> 1.5.2"
|
11
9
|
gem "rake", "~> 0.8.7"
|
10
|
+
gem "closure-compiler", "~> 1.0.0"
|
12
11
|
end
|
data/README.markdown
CHANGED
@@ -75,9 +75,9 @@ Rapper provides helper methods to generate HTML include tags for your assets in
|
|
75
75
|
|
76
76
|
Rapper's view helpers respect your `bundle` setting. If it is `true`, a singe include tag for the joined asset will be returned. If bundling is `false`, it will return include tags for every component file of the asset (as a single string).
|
77
77
|
|
78
|
-
Rapper provides helper methods for each definition type. For instance, if you have "javascripts.yml" and "stylesheets.yml" definition files, Rapper will provide `
|
78
|
+
Rapper provides helper methods for each definition type. For instance, if you have "javascripts.yml" and "stylesheets.yml" definition files, Rapper will provide `include_javascripts` and `include_stylesheets` helper methods. Just pass the name of the asset to the helper method as a symbol and the correct HTML will be returned:
|
79
79
|
|
80
|
-
|
80
|
+
include_stylesheets :mootools
|
81
81
|
# <script src="/javascripts/assets/mootools.js"></script>
|
82
82
|
|
83
83
|
## Versioning
|
@@ -126,6 +126,7 @@ Rapper's got a Gemfile. You know what to do.
|
|
126
126
|
|
127
127
|
## Version history
|
128
128
|
|
129
|
+
* **0.3.0** - Remove hard Closure Compiler dependency (it will still need to be installed to compress JS), shorter view helper method names.
|
129
130
|
* **0.2.4** - Add tag_paths() to get all file paths for a given asset.
|
130
131
|
* **0.2.2** - Change tag_root behavior to not add `.../assets` path suffix when a `destination_root` is defined.
|
131
132
|
* **0.2.1** - Add tag_files() to get all file paths for a given asset.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/lib/rapper/compressors.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require File.expand_path( File.dirname( __FILE__ ) + "/../yui/css_compressor.rb" )
|
2
|
-
require "closure-compiler"
|
3
2
|
require 'fileutils'
|
3
|
+
begin
|
4
|
+
require "closure-compiler"
|
5
|
+
rescue LoadError; end
|
4
6
|
|
5
7
|
module Rapper
|
6
8
|
# Compression handlers for various types of assets. And by "various" I mean
|
@@ -79,6 +81,8 @@ module Rapper
|
|
79
81
|
register ".css"
|
80
82
|
|
81
83
|
def self.do_compress( file_path, opts={} )
|
84
|
+
return unless compressor_available?
|
85
|
+
|
82
86
|
css = read_file( file_path )
|
83
87
|
css = YUI::CSS.compress( css )
|
84
88
|
destination = writable_file( file_path )
|
@@ -87,6 +91,12 @@ module Rapper
|
|
87
91
|
destination.write "\n"
|
88
92
|
destination.close
|
89
93
|
end
|
94
|
+
|
95
|
+
def self.compressor_available?
|
96
|
+
YUI::CSS.is_a?( Class )
|
97
|
+
rescue NameError
|
98
|
+
false
|
99
|
+
end
|
90
100
|
end
|
91
101
|
|
92
102
|
# Uses Google's Closure Compiler (via DocumentCloud's closure-compiler gem)
|
@@ -95,6 +105,8 @@ module Rapper
|
|
95
105
|
register ".js"
|
96
106
|
|
97
107
|
def self.do_compress( file_path, opts={} )
|
108
|
+
return unless closure_available?
|
109
|
+
|
98
110
|
closure = Closure::Compiler.new( opts )
|
99
111
|
|
100
112
|
js = read_file( file_path )
|
@@ -104,6 +116,12 @@ module Rapper
|
|
104
116
|
destination.write "\n"
|
105
117
|
destination.close
|
106
118
|
end
|
119
|
+
|
120
|
+
def self.closure_available?
|
121
|
+
Closure::Compiler.is_a?( Class )
|
122
|
+
rescue NameError
|
123
|
+
false
|
124
|
+
end
|
107
125
|
end
|
108
126
|
|
109
127
|
end
|
data/lib/rapper/errors.rb
CHANGED
@@ -17,5 +17,8 @@ module Rapper
|
|
17
17
|
# Raised when attempting to compress a file with an extension that Rapper
|
18
18
|
# doesn't recognize.
|
19
19
|
class UnknownFileExtension < StandardError; end
|
20
|
+
|
21
|
+
# Raised when an asset definition refers to a file that doesn't exist.
|
22
|
+
class MissingComponentFile < StandardError; end
|
20
23
|
end
|
21
24
|
end
|
data/lib/rapper/helpers.rb
CHANGED
@@ -3,7 +3,7 @@ module Rapper
|
|
3
3
|
module HelperSetup
|
4
4
|
|
5
5
|
# Loads view helpers for any/all available web frameworks available.
|
6
|
-
# TODO:
|
6
|
+
# TODO: Clean up.
|
7
7
|
def setup_helpers
|
8
8
|
if Rapper::ViewHelpers.const_defined?( :RAPPER )
|
9
9
|
Rapper::ViewHelpers.send( :remove_const, :RAPPER )
|
@@ -25,13 +25,13 @@ module Rapper
|
|
25
25
|
|
26
26
|
def self.included( klass )
|
27
27
|
klass.class_eval do
|
28
|
-
# Define a "
|
29
|
-
#
|
30
|
-
#
|
31
|
-
#
|
28
|
+
# Define a "include_FOO" method for each definition type. For example,
|
29
|
+
# if you have "stylesheets" and "javascripts" definitions, you'll have
|
30
|
+
# "include_stylesheets( name )" and "include_javascripts( name )"
|
31
|
+
# methods.
|
32
32
|
RAPPER.definitions.each do |type, definition|
|
33
33
|
tag_method = RAPPER.tag_method_for_type( type )
|
34
|
-
define_method "
|
34
|
+
define_method "include_#{type}".to_sym do |name|
|
35
35
|
RAPPER.send( tag_method, type, name )
|
36
36
|
end
|
37
37
|
end
|
data/lib/rapper/html_tags.rb
CHANGED
@@ -40,6 +40,19 @@ module Rapper
|
|
40
40
|
self.get_tag( CssTag, type, name )
|
41
41
|
end
|
42
42
|
|
43
|
+
# Same as `tag_files`, but includes version query string if needed.
|
44
|
+
def tag_paths( type, name )
|
45
|
+
definition = @definitions[type]
|
46
|
+
if self.get_config( 'version' )
|
47
|
+
version = definition.get_version( name )
|
48
|
+
tag_files( type, name ).map{|path| "#{path}?v=#{version}"}
|
49
|
+
else
|
50
|
+
tag_files( type, name )
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
protected
|
55
|
+
|
43
56
|
# Get all paths for a given asset. If bundling is turned on, a one-item
|
44
57
|
# array is returned containing the path to the asset file. Otherwise, an
|
45
58
|
# array of all component paths for the asset are returned.
|
@@ -58,19 +71,13 @@ module Rapper
|
|
58
71
|
end
|
59
72
|
end
|
60
73
|
|
61
|
-
#
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
tag_files( type, name )
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
protected
|
73
|
-
|
74
|
+
# Get the HTML for an asset.
|
75
|
+
#
|
76
|
+
# @param [Rapper::HtmlTags::Tag] klass The HTML generator class to use.
|
77
|
+
#
|
78
|
+
# @param [String] type Asset type.
|
79
|
+
#
|
80
|
+
# @param [String] name Asset name.
|
74
81
|
def get_tag( klass, type, name )
|
75
82
|
definition = @definitions[type]
|
76
83
|
style = self.get_config( 'tag_style' ).to_sym
|
data/lib/rapper/utils.rb
CHANGED
@@ -15,8 +15,13 @@ module Rapper
|
|
15
15
|
#
|
16
16
|
# @param [String] destination_file Destination for concatenated output.
|
17
17
|
def join_files( source_files, destination_file )
|
18
|
-
source_files = Array( source_files ).uniq
|
19
|
-
|
18
|
+
source_files = Array( source_files ).uniq
|
19
|
+
source_files.any? do |path|
|
20
|
+
unless File.exists?( path )
|
21
|
+
raise Rapper::Errors::MissingComponentFile, "#{path} doesn't exist."
|
22
|
+
end
|
23
|
+
end
|
24
|
+
system "cat #{source_files.join( " " )} > #{destination_file}"
|
20
25
|
end
|
21
26
|
|
22
27
|
end
|
data/rapper.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rapper}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tyson Tate"]
|
12
|
-
s.date = %q{2011-04-
|
12
|
+
s.date = %q{2011-04-05}
|
13
13
|
s.description = %q{Static asset packager and compressor with versioning and built-in view helpers. Compresses files only when they need compressing.}
|
14
14
|
s.email = %q{tyson@tysontate.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -41,6 +41,7 @@ Gem::Specification.new do |s|
|
|
41
41
|
"spec/fixtures/config/asset_definitions/base/javascripts.yml",
|
42
42
|
"spec/fixtures/config/asset_definitions/base/stylesheets.yml",
|
43
43
|
"spec/fixtures/config/asset_definitions/custom_destination/javascripts.yml",
|
44
|
+
"spec/fixtures/config/asset_definitions/missing_file/stylesheets.yml",
|
44
45
|
"spec/fixtures/config/assets.yml",
|
45
46
|
"spec/fixtures/javascripts/simple_1.js",
|
46
47
|
"spec/fixtures/javascripts/simple_2.js",
|
@@ -133,30 +134,30 @@ Gem::Specification.new do |s|
|
|
133
134
|
s.specification_version = 3
|
134
135
|
|
135
136
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
136
|
-
s.add_runtime_dependency(%q<closure-compiler>, ["~> 1.0.0"])
|
137
137
|
s.add_development_dependency(%q<rspec>, ["~> 1.3.1"])
|
138
138
|
s.add_development_dependency(%q<yard>, ["~> 0.6.4"])
|
139
139
|
s.add_development_dependency(%q<bluecloth>, ["~> 2.0.10"])
|
140
140
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
141
141
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
142
142
|
s.add_development_dependency(%q<rake>, ["~> 0.8.7"])
|
143
|
+
s.add_development_dependency(%q<closure-compiler>, ["~> 1.0.0"])
|
143
144
|
else
|
144
|
-
s.add_dependency(%q<closure-compiler>, ["~> 1.0.0"])
|
145
145
|
s.add_dependency(%q<rspec>, ["~> 1.3.1"])
|
146
146
|
s.add_dependency(%q<yard>, ["~> 0.6.4"])
|
147
147
|
s.add_dependency(%q<bluecloth>, ["~> 2.0.10"])
|
148
148
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
149
149
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
150
150
|
s.add_dependency(%q<rake>, ["~> 0.8.7"])
|
151
|
+
s.add_dependency(%q<closure-compiler>, ["~> 1.0.0"])
|
151
152
|
end
|
152
153
|
else
|
153
|
-
s.add_dependency(%q<closure-compiler>, ["~> 1.0.0"])
|
154
154
|
s.add_dependency(%q<rspec>, ["~> 1.3.1"])
|
155
155
|
s.add_dependency(%q<yard>, ["~> 0.6.4"])
|
156
156
|
s.add_dependency(%q<bluecloth>, ["~> 2.0.10"])
|
157
157
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
158
158
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
159
159
|
s.add_dependency(%q<rake>, ["~> 0.8.7"])
|
160
|
+
s.add_dependency(%q<closure-compiler>, ["~> 1.0.0"])
|
160
161
|
end
|
161
162
|
end
|
162
163
|
|
@@ -32,6 +32,9 @@ test_custom_destination:
|
|
32
32
|
definition_root: spec/fixtures/config/asset_definitions/custom_destination
|
33
33
|
bundle: true
|
34
34
|
compress: false
|
35
|
+
test_missing_file:
|
36
|
+
<<: *base
|
37
|
+
definition_root: spec/fixtures/config/asset_definitions/missing_file
|
35
38
|
test_tag_paths:
|
36
39
|
<<: *base
|
37
40
|
bundle: true
|
data/spec/rapper_spec.rb
CHANGED
@@ -67,16 +67,6 @@ describe Rapper do
|
|
67
67
|
]
|
68
68
|
]
|
69
69
|
end
|
70
|
-
|
71
|
-
it "provides tag files and paths" do
|
72
|
-
rapper = Rapper::Engine.new( "spec/fixtures/config/assets.yml", "test_tag_paths" )
|
73
|
-
rapper.tag_files( "javascripts", "multiple_files" ).should == ["/javascripts/assets/multiple_files.js"]
|
74
|
-
rapper.tag_paths( "javascripts", "multiple_files" ).should == ["/javascripts/assets/multiple_files.js?v=f3d9"]
|
75
|
-
|
76
|
-
rapper = Rapper::Engine.new( "spec/fixtures/config/assets.yml", "test_tag_paths_no_bundle" )
|
77
|
-
rapper.tag_files( "javascripts", "multiple_files" ).should == ["/javascripts/simple_1.js", "/javascripts/simple_2.js"]
|
78
|
-
rapper.tag_paths( "javascripts", "multiple_files" ).should == ["/javascripts/simple_1.js?v=f3d9", "/javascripts/simple_2.js?v=f3d9"]
|
79
|
-
end
|
80
70
|
end
|
81
71
|
|
82
72
|
describe "logging" do
|
@@ -147,8 +137,21 @@ describe Rapper do
|
|
147
137
|
Dir[ "tmp/custom_destination/*" ].should == ["tmp/custom_destination/multiple_files.js"]
|
148
138
|
end
|
149
139
|
|
150
|
-
it "doesn't use the defaut
|
151
|
-
@rapper.js_tag( "javascripts", "multiple_files" ).should ==
|
140
|
+
it "doesn't use the defaut '/assets' tag root" do
|
141
|
+
@rapper.js_tag( "javascripts", "multiple_files" ).should ==
|
142
|
+
"<script src=\"/javascripts/multiple_files.js?v=f3d9\"></script>"
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
describe "misc. methods" do
|
147
|
+
it "provides tag files and paths" do
|
148
|
+
rapper = Rapper::Engine.new( "spec/fixtures/config/assets.yml", "test_tag_paths" )
|
149
|
+
rapper.tag_paths( "javascripts", "multiple_files" ).should ==
|
150
|
+
["/javascripts/assets/multiple_files.js?v=f3d9"]
|
151
|
+
|
152
|
+
rapper = Rapper::Engine.new( "spec/fixtures/config/assets.yml", "test_tag_paths_no_bundle" )
|
153
|
+
rapper.tag_paths( "javascripts", "multiple_files" ).should ==
|
154
|
+
["/javascripts/simple_1.js?v=f3d9", "/javascripts/simple_2.js?v=f3d9"]
|
152
155
|
end
|
153
156
|
end
|
154
157
|
|
@@ -173,7 +176,6 @@ describe Rapper do
|
|
173
176
|
rapper.package
|
174
177
|
|
175
178
|
paths.each do |path|
|
176
|
-
|
177
179
|
# Produces the same exact individual files
|
178
180
|
file_names( path[:results] ).should == file_names( path[:expecteds] )
|
179
181
|
# Contents are all the same
|
@@ -191,7 +193,13 @@ describe Rapper do
|
|
191
193
|
end
|
192
194
|
|
193
195
|
describe "bundling" do
|
194
|
-
it "raises an error if a file doesn't exist"
|
196
|
+
it "raises an error if a file doesn't exist" do
|
197
|
+
rapper = Rapper::Engine.new( "spec/fixtures/config/assets.yml", "test_missing_file" )
|
198
|
+
|
199
|
+
lambda do
|
200
|
+
rapper.package
|
201
|
+
end.should raise_error( Rapper::Errors::MissingComponentFile )
|
202
|
+
end
|
195
203
|
end
|
196
204
|
|
197
205
|
describe "view helpers" do
|
@@ -204,40 +212,58 @@ describe Rapper do
|
|
204
212
|
|
205
213
|
it "returns tags for component files when bundling is off" do
|
206
214
|
Rapper::Engine.new( "spec/fixtures/config/assets.yml", "test_no_bundle" )
|
207
|
-
@controller.
|
208
|
-
|
209
|
-
@controller.
|
210
|
-
|
215
|
+
@controller.include_stylesheets( :single_file ).should ==
|
216
|
+
"<link rel=\"stylesheet\" href=\"/stylesheets/simple_1.css\">"
|
217
|
+
@controller.include_stylesheets( :multiple_files ).should ==
|
218
|
+
"<link rel=\"stylesheet\" href=\"/stylesheets/simple_1.css\">\n<link rel=\"stylesheet\" href=\"/stylesheets/simple_2.css\">"
|
219
|
+
@controller.include_javascripts( :single_file ).should ==
|
220
|
+
"<script src=\"/javascripts/simple_1.js\"></script>"
|
221
|
+
@controller.include_javascripts( :multiple_files ).should ==
|
222
|
+
"<script src=\"/javascripts/simple_1.js\"></script>\n<script src=\"/javascripts/simple_2.js\"></script>"
|
211
223
|
end
|
212
224
|
|
213
225
|
it "returns tags for asset when bundling is on" do
|
214
226
|
Rapper::Engine.new( "spec/fixtures/config/assets.yml", "test" )
|
215
|
-
@controller.
|
216
|
-
|
217
|
-
@controller.
|
218
|
-
|
227
|
+
@controller.include_stylesheets( :single_file ).should ==
|
228
|
+
"<link type=\"text/css\" rel=\"stylesheet\" href=\"/stylesheets/assets/single_file.css\">"
|
229
|
+
@controller.include_stylesheets( :multiple_files ).should ==
|
230
|
+
"<link type=\"text/css\" rel=\"stylesheet\" href=\"/stylesheets/assets/multiple_files.css\">"
|
231
|
+
@controller.include_javascripts( :single_file ).should ==
|
232
|
+
"<script type=\"text/javascript\" src=\"/javascripts/assets/single_file.js\"></script>"
|
233
|
+
@controller.include_javascripts( :multiple_files ).should ==
|
234
|
+
"<script type=\"text/javascript\" src=\"/javascripts/assets/multiple_files.js\"></script>"
|
219
235
|
end
|
220
236
|
|
221
237
|
it "can return xhtml tags" do
|
222
238
|
Rapper::Engine.new( "spec/fixtures/config/assets.yml", "xhtml_tags" )
|
223
|
-
@controller.
|
224
|
-
|
225
|
-
@controller.
|
226
|
-
|
239
|
+
@controller.include_stylesheets( :single_file ).should ==
|
240
|
+
"<link type=\"text/css\" rel=\"stylesheet\" href=\"/stylesheets/assets/single_file.css\" />"
|
241
|
+
@controller.include_stylesheets( :multiple_files ).should ==
|
242
|
+
"<link type=\"text/css\" rel=\"stylesheet\" href=\"/stylesheets/assets/multiple_files.css\" />"
|
243
|
+
@controller.include_javascripts( :single_file ).should ==
|
244
|
+
"<script type=\"text/javascript\" src=\"/javascripts/assets/single_file.js\"></script>"
|
245
|
+
@controller.include_javascripts( :multiple_files ).should ==
|
246
|
+
"<script type=\"text/javascript\" src=\"/javascripts/assets/multiple_files.js\"></script>"
|
227
247
|
end
|
228
248
|
|
229
249
|
it "can return html5 tags" do
|
230
250
|
Rapper::Engine.new( "spec/fixtures/config/assets.yml", "html5_tags" )
|
231
|
-
@controller.
|
232
|
-
|
233
|
-
@controller.
|
234
|
-
|
251
|
+
@controller.include_stylesheets( :single_file ).should ==
|
252
|
+
"<link rel=\"stylesheet\" href=\"/stylesheets/assets/single_file.css\">"
|
253
|
+
@controller.include_stylesheets( :multiple_files ).should ==
|
254
|
+
"<link rel=\"stylesheet\" href=\"/stylesheets/assets/multiple_files.css\">"
|
255
|
+
@controller.include_javascripts( :single_file ).should ==
|
256
|
+
"<script src=\"/javascripts/assets/single_file.js\"></script>"
|
257
|
+
@controller.include_javascripts( :multiple_files ).should ==
|
258
|
+
"<script src=\"/javascripts/assets/multiple_files.js\"></script>"
|
235
259
|
end
|
236
260
|
|
237
261
|
it "adds a version number if versioning is on" do
|
238
262
|
Rapper::Engine.new( "spec/fixtures/config/assets.yml", "versions" )
|
239
|
-
@controller.
|
240
|
-
|
263
|
+
@controller.include_stylesheets( :single_file ).should ==
|
264
|
+
"<link rel=\"stylesheet\" href=\"/stylesheets/assets/single_file.css?v=1e17\">"
|
265
|
+
@controller.include_javascripts( :single_file ).should ==
|
266
|
+
"<script src=\"/javascripts/assets/single_file.js?v=98bc\"></script>"
|
241
267
|
end
|
242
268
|
end
|
243
269
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tyson Tate
|
@@ -15,28 +15,12 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-04-
|
18
|
+
date: 2011-04-05 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
|
-
requirements:
|
26
|
-
- - ~>
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 23
|
29
|
-
segments:
|
30
|
-
- 1
|
31
|
-
- 0
|
32
|
-
- 0
|
33
|
-
version: 1.0.0
|
34
|
-
type: :runtime
|
35
|
-
requirement: *id001
|
36
|
-
name: closure-compiler
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
prerelease: false
|
39
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
40
24
|
none: false
|
41
25
|
requirements:
|
42
26
|
- - ~>
|
@@ -48,11 +32,11 @@ dependencies:
|
|
48
32
|
- 1
|
49
33
|
version: 1.3.1
|
50
34
|
type: :development
|
51
|
-
requirement: *
|
35
|
+
requirement: *id001
|
52
36
|
name: rspec
|
53
37
|
- !ruby/object:Gem::Dependency
|
54
38
|
prerelease: false
|
55
|
-
version_requirements: &
|
39
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
56
40
|
none: false
|
57
41
|
requirements:
|
58
42
|
- - ~>
|
@@ -64,11 +48,11 @@ dependencies:
|
|
64
48
|
- 4
|
65
49
|
version: 0.6.4
|
66
50
|
type: :development
|
67
|
-
requirement: *
|
51
|
+
requirement: *id002
|
68
52
|
name: yard
|
69
53
|
- !ruby/object:Gem::Dependency
|
70
54
|
prerelease: false
|
71
|
-
version_requirements: &
|
55
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
72
56
|
none: false
|
73
57
|
requirements:
|
74
58
|
- - ~>
|
@@ -80,11 +64,11 @@ dependencies:
|
|
80
64
|
- 10
|
81
65
|
version: 2.0.10
|
82
66
|
type: :development
|
83
|
-
requirement: *
|
67
|
+
requirement: *id003
|
84
68
|
name: bluecloth
|
85
69
|
- !ruby/object:Gem::Dependency
|
86
70
|
prerelease: false
|
87
|
-
version_requirements: &
|
71
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
88
72
|
none: false
|
89
73
|
requirements:
|
90
74
|
- - ~>
|
@@ -96,11 +80,11 @@ dependencies:
|
|
96
80
|
- 0
|
97
81
|
version: 1.0.0
|
98
82
|
type: :development
|
99
|
-
requirement: *
|
83
|
+
requirement: *id004
|
100
84
|
name: bundler
|
101
85
|
- !ruby/object:Gem::Dependency
|
102
86
|
prerelease: false
|
103
|
-
version_requirements: &
|
87
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
104
88
|
none: false
|
105
89
|
requirements:
|
106
90
|
- - ~>
|
@@ -112,11 +96,11 @@ dependencies:
|
|
112
96
|
- 2
|
113
97
|
version: 1.5.2
|
114
98
|
type: :development
|
115
|
-
requirement: *
|
99
|
+
requirement: *id005
|
116
100
|
name: jeweler
|
117
101
|
- !ruby/object:Gem::Dependency
|
118
102
|
prerelease: false
|
119
|
-
version_requirements: &
|
103
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
120
104
|
none: false
|
121
105
|
requirements:
|
122
106
|
- - ~>
|
@@ -128,8 +112,24 @@ dependencies:
|
|
128
112
|
- 7
|
129
113
|
version: 0.8.7
|
130
114
|
type: :development
|
131
|
-
requirement: *
|
115
|
+
requirement: *id006
|
132
116
|
name: rake
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
hash: 23
|
125
|
+
segments:
|
126
|
+
- 1
|
127
|
+
- 0
|
128
|
+
- 0
|
129
|
+
version: 1.0.0
|
130
|
+
type: :development
|
131
|
+
requirement: *id007
|
132
|
+
name: closure-compiler
|
133
133
|
description: Static asset packager and compressor with versioning and built-in view helpers. Compresses files only when they need compressing.
|
134
134
|
email: tyson@tysontate.com
|
135
135
|
executables: []
|
@@ -164,6 +164,7 @@ files:
|
|
164
164
|
- spec/fixtures/config/asset_definitions/base/javascripts.yml
|
165
165
|
- spec/fixtures/config/asset_definitions/base/stylesheets.yml
|
166
166
|
- spec/fixtures/config/asset_definitions/custom_destination/javascripts.yml
|
167
|
+
- spec/fixtures/config/asset_definitions/missing_file/stylesheets.yml
|
167
168
|
- spec/fixtures/config/assets.yml
|
168
169
|
- spec/fixtures/javascripts/simple_1.js
|
169
170
|
- spec/fixtures/javascripts/simple_2.js
|