rapper 0.2.4 → 0.3.0

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/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
@@ -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 `rapper_javascripts_tag` and `rapper_stylesheets_tag` helper methods. Just pass the name of the asset to the helper method as a symbol and the correct HTML will be returned:
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
- rapper_stylesheets_tag :mootools
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.2.4
1
+ 0.3.0
@@ -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
@@ -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
@@ -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: Refactor.
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 "rapper_FOO_tag" method for each definition type. For
29
- # example, if you have "stylesheets" and "javascripts" definitions,
30
- # you'll have "rapper_stylesheets_tag( name )" and
31
- # "rapper_javascripts_tag( name )" methods.
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 "rapper_#{type}_tag".to_sym do |name|
34
+ define_method "include_#{type}".to_sym do |name|
35
35
  RAPPER.send( tag_method, type, name )
36
36
  end
37
37
  end
@@ -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
- # Same as `tag_files`, but includes version query string if needed.
62
- def tag_paths( type, name )
63
- definition = @definitions[type]
64
- if self.get_config( 'version' )
65
- version = definition.get_version( name )
66
- tag_files( type, name ).map{|path| "#{path}?v=#{version}"}
67
- else
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
@@ -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.join( " " )
19
- system "cat #{source_files} > #{destination_file}"
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
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rapper}
8
- s.version = "0.2.4"
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-02}
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
 
@@ -0,0 +1,10 @@
1
+ --- !omap
2
+ - root: spec/fixtures/stylesheets
3
+ - tag_root: /stylesheets
4
+ - suffix: css
5
+ - assets: !omap
6
+ - multiple_files: !omap
7
+ - files:
8
+ - simple_1
9
+ - foobar_doesnt_exist
10
+ - version: 1e17
@@ -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
@@ -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 .../assets tag root" do
151
- @rapper.js_tag( "javascripts", "multiple_files" ).should == "<script src=\"/javascripts/multiple_files.js?v=f3d9\"></script>"
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.rapper_stylesheets_tag( :single_file ).should == "<link rel=\"stylesheet\" href=\"/stylesheets/simple_1.css\">"
208
- @controller.rapper_stylesheets_tag( :multiple_files ).should == "<link rel=\"stylesheet\" href=\"/stylesheets/simple_1.css\">\n<link rel=\"stylesheet\" href=\"/stylesheets/simple_2.css\">"
209
- @controller.rapper_javascripts_tag( :single_file ).should == "<script src=\"/javascripts/simple_1.js\"></script>"
210
- @controller.rapper_javascripts_tag( :multiple_files ).should == "<script src=\"/javascripts/simple_1.js\"></script>\n<script src=\"/javascripts/simple_2.js\"></script>"
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.rapper_stylesheets_tag( :single_file ).should == "<link type=\"text/css\" rel=\"stylesheet\" href=\"/stylesheets/assets/single_file.css\">"
216
- @controller.rapper_stylesheets_tag( :multiple_files ).should == "<link type=\"text/css\" rel=\"stylesheet\" href=\"/stylesheets/assets/multiple_files.css\">"
217
- @controller.rapper_javascripts_tag( :single_file ).should == "<script type=\"text/javascript\" src=\"/javascripts/assets/single_file.js\"></script>"
218
- @controller.rapper_javascripts_tag( :multiple_files ).should == "<script type=\"text/javascript\" src=\"/javascripts/assets/multiple_files.js\"></script>"
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.rapper_stylesheets_tag( :single_file ).should == "<link type=\"text/css\" rel=\"stylesheet\" href=\"/stylesheets/assets/single_file.css\" />"
224
- @controller.rapper_stylesheets_tag( :multiple_files ).should == "<link type=\"text/css\" rel=\"stylesheet\" href=\"/stylesheets/assets/multiple_files.css\" />"
225
- @controller.rapper_javascripts_tag( :single_file ).should == "<script type=\"text/javascript\" src=\"/javascripts/assets/single_file.js\"></script>"
226
- @controller.rapper_javascripts_tag( :multiple_files ).should == "<script type=\"text/javascript\" src=\"/javascripts/assets/multiple_files.js\"></script>"
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.rapper_stylesheets_tag( :single_file ).should == "<link rel=\"stylesheet\" href=\"/stylesheets/assets/single_file.css\">"
232
- @controller.rapper_stylesheets_tag( :multiple_files ).should == "<link rel=\"stylesheet\" href=\"/stylesheets/assets/multiple_files.css\">"
233
- @controller.rapper_javascripts_tag( :single_file ).should == "<script src=\"/javascripts/assets/single_file.js\"></script>"
234
- @controller.rapper_javascripts_tag( :multiple_files ).should == "<script src=\"/javascripts/assets/multiple_files.js\"></script>"
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.rapper_stylesheets_tag( :single_file ).should == "<link rel=\"stylesheet\" href=\"/stylesheets/assets/single_file.css?v=1e17\">"
240
- @controller.rapper_javascripts_tag( :single_file ).should == "<script src=\"/javascripts/assets/single_file.js?v=98bc\"></script>"
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: 31
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 2
9
- - 4
10
- version: 0.2.4
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-02 00:00:00 -07:00
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: *id002
35
+ requirement: *id001
52
36
  name: rspec
53
37
  - !ruby/object:Gem::Dependency
54
38
  prerelease: false
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
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: *id003
51
+ requirement: *id002
68
52
  name: yard
69
53
  - !ruby/object:Gem::Dependency
70
54
  prerelease: false
71
- version_requirements: &id004 !ruby/object:Gem::Requirement
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: *id004
67
+ requirement: *id003
84
68
  name: bluecloth
85
69
  - !ruby/object:Gem::Dependency
86
70
  prerelease: false
87
- version_requirements: &id005 !ruby/object:Gem::Requirement
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: *id005
83
+ requirement: *id004
100
84
  name: bundler
101
85
  - !ruby/object:Gem::Dependency
102
86
  prerelease: false
103
- version_requirements: &id006 !ruby/object:Gem::Requirement
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: *id006
99
+ requirement: *id005
116
100
  name: jeweler
117
101
  - !ruby/object:Gem::Dependency
118
102
  prerelease: false
119
- version_requirements: &id007 !ruby/object:Gem::Requirement
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: *id007
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