assette 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -2,10 +2,8 @@ source "http://rubygems.org"
2
2
 
3
3
  group :development do
4
4
  gem "rspec", "~> 2.4.0"
5
- gem "yard", "~> 0.6.0"
6
5
  gem "bundler", "~> 1.0.0"
7
6
  gem "jeweler", "~> 1.5.2"
8
- gem "rcov", ">= 0"
9
7
  gem 'rack-test', :require => false
10
8
  end
11
9
 
@@ -13,7 +11,6 @@ gem "rack", '~> 1'
13
11
  gem "thor", '~> 0'
14
12
  gem "json", '>= 1.4'
15
13
  gem "sass", '>= 3.1'
16
- gem 'less'
17
14
  gem "mime-types", ">= 1.16", :require => 'mime/types'
18
15
  gem "git"
19
16
  gem "coffee-script", "~> 2"
@@ -5,8 +5,6 @@ GEM
5
5
  coffee-script-source
6
6
  execjs
7
7
  coffee-script-source (1.1.1)
8
- commonjs (0.2.0)
9
- therubyracer (~> 0.9.9)
10
8
  diff-lcs (1.1.2)
11
9
  execjs (1.1.3)
12
10
  multi_json (~> 1.0)
@@ -16,17 +14,12 @@ GEM
16
14
  git (>= 1.2.5)
17
15
  rake
18
16
  json (1.5.2)
19
- less (2.0.8)
20
- commonjs (~> 0.2.0)
21
- therubyracer (~> 0.9.9)
22
- libv8 (3.3.10.4)
23
17
  mime-types (1.16)
24
18
  multi_json (1.0.3)
25
19
  rack (1.3.0)
26
- rack-test (0.6.0)
20
+ rack-test (0.6.1)
27
21
  rack (>= 1.0)
28
22
  rake (0.9.2)
29
- rcov (0.9.9)
30
23
  rspec (2.4.0)
31
24
  rspec-core (~> 2.4.0)
32
25
  rspec-expectations (~> 2.4.0)
@@ -36,13 +29,10 @@ GEM
36
29
  diff-lcs (~> 1.1.2)
37
30
  rspec-mocks (2.4.0)
38
31
  sass (3.1.2)
39
- therubyracer (0.9.9)
40
- libv8 (~> 3.3.10)
41
32
  thor (0.14.6)
42
33
  uglifier (1.1.0)
43
34
  execjs (>= 0.3.0)
44
35
  multi_json (>= 1.0.2)
45
- yard (0.6.8)
46
36
 
47
37
  PLATFORMS
48
38
  ruby
@@ -53,13 +43,10 @@ DEPENDENCIES
53
43
  git
54
44
  jeweler (~> 1.5.2)
55
45
  json (>= 1.4)
56
- less
57
46
  mime-types (>= 1.16)
58
47
  rack (~> 1)
59
48
  rack-test
60
- rcov
61
49
  rspec (~> 2.4.0)
62
50
  sass (>= 3.1)
63
51
  thor (~> 0)
64
52
  uglifier
65
- yard (~> 0.6.0)
data/Rakefile CHANGED
@@ -23,14 +23,13 @@ Jeweler::Tasks.new do |gem|
23
23
  gem.authors = ["Tal Atlas"]
24
24
  # Include your dependencies below. Runtime dependencies are required when using your gem,
25
25
  # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
26
- gem.add_runtime_dependency "rack", '>= 1.4'
27
- gem.add_runtime_dependency "thor", '~> 0'
28
- gem.add_runtime_dependency "json", '>= 1.4'
29
- gem.add_runtime_dependency "sass", '>= 3.1'
30
- gem.add_runtime_dependency "less", '>= 2.0'
31
- gem.add_runtime_dependency "coffee-script", '~> 2'
32
- gem.add_runtime_dependency "uglifier"
33
- gem.add_runtime_dependency "mime-types", ">= 1.16"
26
+ # gem.add_runtime_dependency "rack", '>= 1.4'
27
+ # gem.add_runtime_dependency "thor", '~> 0'
28
+ # gem.add_runtime_dependency "json", '>= 1.4'
29
+ # gem.add_runtime_dependency "sass", '>= 3.1'
30
+ # gem.add_runtime_dependency "coffee-script", '~> 2'
31
+ # gem.add_runtime_dependency "uglifier"
32
+ # gem.add_runtime_dependency "mime-types", ">= 1.16"
34
33
  end
35
34
  Jeweler::RubygemsDotOrgTasks.new
36
35
 
@@ -47,8 +46,8 @@ end
47
46
 
48
47
  task :default => :spec
49
48
 
50
- require 'yard'
51
- YARD::Rake::YardocTask.new
49
+ # require 'yard'
50
+ # YARD::Rake::YardocTask.new
52
51
 
53
52
  require 'rake/testtask'
54
53
  Rake::TestTask.new(:test) do |test|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.1.6
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{assette}
8
- s.version = "0.1.5"
8
+ s.version = "0.1.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Tal Atlas}]
12
- s.date = %q{2012-01-12}
12
+ s.date = %q{2012-01-17}
13
13
  s.description = %q{Renders all asset types (coffeescript/sass/scss) as equals}
14
14
  s.email = %q{me@tal.by}
15
15
  s.executables = [%q{assette}]
@@ -112,74 +112,41 @@ Gem::Specification.new do |s|
112
112
  s.add_runtime_dependency(%q<thor>, ["~> 0"])
113
113
  s.add_runtime_dependency(%q<json>, [">= 1.4"])
114
114
  s.add_runtime_dependency(%q<sass>, [">= 3.1"])
115
- s.add_runtime_dependency(%q<less>, [">= 0"])
116
115
  s.add_runtime_dependency(%q<mime-types>, [">= 1.16"])
117
116
  s.add_runtime_dependency(%q<git>, [">= 0"])
118
117
  s.add_runtime_dependency(%q<coffee-script>, ["~> 2"])
119
118
  s.add_runtime_dependency(%q<uglifier>, [">= 0"])
120
119
  s.add_development_dependency(%q<rspec>, ["~> 2.4.0"])
121
- s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
122
120
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
123
121
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
124
- s.add_development_dependency(%q<rcov>, [">= 0"])
125
122
  s.add_development_dependency(%q<rack-test>, [">= 0"])
126
- s.add_runtime_dependency(%q<rack>, [">= 1.4"])
127
- s.add_runtime_dependency(%q<thor>, ["~> 0"])
128
- s.add_runtime_dependency(%q<json>, [">= 1.4"])
129
- s.add_runtime_dependency(%q<sass>, [">= 3.1"])
130
- s.add_runtime_dependency(%q<less>, [">= 2.0"])
131
- s.add_runtime_dependency(%q<coffee-script>, ["~> 2"])
132
- s.add_runtime_dependency(%q<uglifier>, [">= 0"])
133
- s.add_runtime_dependency(%q<mime-types>, [">= 1.16"])
134
123
  else
135
124
  s.add_dependency(%q<rack>, ["~> 1"])
136
125
  s.add_dependency(%q<thor>, ["~> 0"])
137
126
  s.add_dependency(%q<json>, [">= 1.4"])
138
127
  s.add_dependency(%q<sass>, [">= 3.1"])
139
- s.add_dependency(%q<less>, [">= 0"])
140
128
  s.add_dependency(%q<mime-types>, [">= 1.16"])
141
129
  s.add_dependency(%q<git>, [">= 0"])
142
130
  s.add_dependency(%q<coffee-script>, ["~> 2"])
143
131
  s.add_dependency(%q<uglifier>, [">= 0"])
144
132
  s.add_dependency(%q<rspec>, ["~> 2.4.0"])
145
- s.add_dependency(%q<yard>, ["~> 0.6.0"])
146
133
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
147
134
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
148
- s.add_dependency(%q<rcov>, [">= 0"])
149
135
  s.add_dependency(%q<rack-test>, [">= 0"])
150
- s.add_dependency(%q<rack>, [">= 1.4"])
151
- s.add_dependency(%q<thor>, ["~> 0"])
152
- s.add_dependency(%q<json>, [">= 1.4"])
153
- s.add_dependency(%q<sass>, [">= 3.1"])
154
- s.add_dependency(%q<less>, [">= 2.0"])
155
- s.add_dependency(%q<coffee-script>, ["~> 2"])
156
- s.add_dependency(%q<uglifier>, [">= 0"])
157
- s.add_dependency(%q<mime-types>, [">= 1.16"])
158
136
  end
159
137
  else
160
138
  s.add_dependency(%q<rack>, ["~> 1"])
161
139
  s.add_dependency(%q<thor>, ["~> 0"])
162
140
  s.add_dependency(%q<json>, [">= 1.4"])
163
141
  s.add_dependency(%q<sass>, [">= 3.1"])
164
- s.add_dependency(%q<less>, [">= 0"])
165
142
  s.add_dependency(%q<mime-types>, [">= 1.16"])
166
143
  s.add_dependency(%q<git>, [">= 0"])
167
144
  s.add_dependency(%q<coffee-script>, ["~> 2"])
168
145
  s.add_dependency(%q<uglifier>, [">= 0"])
169
146
  s.add_dependency(%q<rspec>, ["~> 2.4.0"])
170
- s.add_dependency(%q<yard>, ["~> 0.6.0"])
171
147
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
172
148
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
173
- s.add_dependency(%q<rcov>, [">= 0"])
174
149
  s.add_dependency(%q<rack-test>, [">= 0"])
175
- s.add_dependency(%q<rack>, [">= 1.4"])
176
- s.add_dependency(%q<thor>, ["~> 0"])
177
- s.add_dependency(%q<json>, [">= 1.4"])
178
- s.add_dependency(%q<sass>, [">= 3.1"])
179
- s.add_dependency(%q<less>, [">= 2.0"])
180
- s.add_dependency(%q<coffee-script>, ["~> 2"])
181
- s.add_dependency(%q<uglifier>, [">= 0"])
182
- s.add_dependency(%q<mime-types>, [">= 1.16"])
183
150
  end
184
151
  end
185
152
 
@@ -28,36 +28,36 @@ class Rack::Server
28
28
  end
29
29
 
30
30
  module Assette
31
-
31
+
32
32
  class CLI < Thor
33
33
  ASSET_PREFIX_MATCHER = /^([a-f0-9]{9}|\d{6}_\d{6})\//
34
-
35
-
34
+
35
+
36
36
  include Thor::Actions
37
37
  DEFAULT_PID_FILE = '.assette_pid'
38
38
  class_option :'config-file', :desc => 'config file to use', :type => :string
39
39
  class_option :trace, :type => :boolean, :default => false
40
-
40
+
41
41
  map "-v" => :version
42
-
42
+
43
43
  desc 'version', 'displays current gem version'
44
44
  def version
45
45
  say Assette::VERSION
46
46
  end
47
-
47
+
48
48
  desc 'server', 'Launches the assette server (should only be used for dev or behind a cdn)'
49
49
  method_option :port, :aliases => '-p', :type => :numeric
50
50
  method_option :'dont-daemonize', :aliases => '-D', :type => :boolean
51
51
  method_option :pid, :type => :string, :default => DEFAULT_PID_FILE, :description => 'file to store pid in'
52
52
  def server(cmd = nil)
53
53
  if cmd.nil? || cmd == 'start'
54
-
54
+
55
55
  opts = {}
56
56
  opts[:Port] = options[:port] || 4747
57
57
  opts[:config] = File.join(File.dirname(__FILE__),'run.ru')
58
-
58
+
59
59
  unless options['dont-daemonize']
60
-
60
+
61
61
  if File.exist?(pid_file)
62
62
  pid = File.open(pid_file).read.chomp.to_i
63
63
  begin
@@ -67,7 +67,7 @@ module Assette
67
67
 
68
68
  end
69
69
  end
70
-
70
+
71
71
  opts[:daemonize] = true
72
72
  opts[:pid] = pid_file
73
73
  else
@@ -77,7 +77,7 @@ module Assette
77
77
  "#{severity}: #{progname} - #{msg}\n"
78
78
  end
79
79
  end
80
-
80
+
81
81
  say "Starting Assette server on port #{opts[:Port]}"
82
82
  ret = Rack::Server.start(opts)
83
83
  elsif cmd == 'stop'
@@ -90,47 +90,48 @@ module Assette
90
90
  end
91
91
  end
92
92
  end
93
-
93
+
94
94
  desc "compile", "Compile all the assettes in a folder for static serving"
95
95
  method_option :minified, :type => :boolean, :default => false, :description => "only compile minified files"
96
96
  method_option :static_min, :type => :boolean, :default => false, :description => "only copy static files and minified files"
97
+ method_option :not_verbose, :type => :boolean, :default => false, :description => "don't ask whether to overwrite files or not"
97
98
  def compile
98
99
  files = []
99
100
  all_files = []
100
101
  Assette.config.compiling = true
101
-
102
+
102
103
  unless File.exist?('assets')
103
104
  Dir.mkdir('assets')
104
105
  end
105
-
106
+
106
107
  sha = Git.open('.').log.first.sha[0...8] rescue Time.now.strftime("%y%m%d_%H%M%S")
107
108
  Assette.config.sha = sha
108
-
109
+
109
110
  Assette.config.file_paths.each do |path|
110
111
  all_files |= Dir[File.join(path,'**',"*")]
111
112
  Assette::Reader::ALL.keys.each do |extension|
112
113
  files |= Dir[File.join(path,'**',"*.#{extension}")]
113
114
  end
114
115
  end
115
-
116
+
116
117
  not_compiled = all_files - files
117
-
118
+
118
119
  files.delete_if {|f| f =~ /\/_/} # remove any mixins to speed up process
119
-
120
+
120
121
  # files = files.collect {|f| Assette::File.open(f)}
121
-
122
+
122
123
  container = if Assette.config.cache_method.to_s == 'path'
123
124
  File.join(Assette.config.build_target,sha)
124
125
  else
125
126
  Assette.config.build_target
126
127
  end
127
-
128
+
128
129
  made_dirs = []
129
-
130
+
130
131
  say "Compiling all asset files to #{container}"
131
132
 
132
133
  files_to_minify = []
133
-
134
+
134
135
  files.each do |file_path|
135
136
  Assette::File.open(file_path) do |file|
136
137
 
@@ -139,15 +140,15 @@ module Assette
139
140
  else
140
141
  unless options.minified? || options.static_min?
141
142
  target_path = file.relative_target_path
142
-
143
+
143
144
  Assette.config.file_paths.each do |p|
144
145
  # target_path.gsub!(p,'')
145
146
  end
146
-
147
+
147
148
  new_path = File.join(container,target_path)
148
-
149
+
149
150
  Assette.logger.debug("Compiling file") {"#{file.path} -> #{new_path}"}
150
- create_file(new_path, file.all_code)
151
+ create_file(new_path, file.all_code, :verbose => !options.not_verbose?)
151
152
  end
152
153
  end
153
154
  end
@@ -163,11 +164,11 @@ module Assette
163
164
  new_path = File.join(container,target_path).sub(/(\.[A-Za-z0-9]{2,10})$/,'.min\1')
164
165
 
165
166
  Assette.logger.debug("Compiling minified file") {"#{file.path} -> #{new_path}"}
166
- create_file(new_path, file.all_code)
167
+ create_file(new_path, file.all_code, :verbose => !options.not_verbose?)
167
168
  end
168
169
  end
169
170
  end
170
-
171
+
171
172
  say "\nCopying all non-compiled assets to #{container}"
172
173
  not_compiled.each do |file|
173
174
  next if File.directory?(file)
@@ -177,11 +178,11 @@ module Assette
177
178
  Assette.config.file_paths.each do |p|
178
179
  target_path.gsub!(Regexp.new(p+'/'),'')
179
180
  end
180
-
181
+
181
182
  new_path = File.join(container,target_path)
182
-
183
+
183
184
  Assette.logger.debug("Copying file") {"#{file} -> #{new_path}"}
184
- copy_file(file,new_path)
185
+ copy_file(file,new_path, :verbose => !options.not_verbose?)
185
186
  end
186
187
 
187
188
 
@@ -191,31 +192,31 @@ module Assette
191
192
 
192
193
  Assette.config.after_compile.call(sha)
193
194
  end
194
-
195
+
195
196
  def initialize(*)
196
197
  super
197
198
  get_services
198
199
  end
199
-
200
+
200
201
  private
201
202
  def set_color *args
202
203
  @shell.set_color(*args)
203
204
  end
204
-
205
+
205
206
  def get_services
206
207
  Assette.config(options['config-file'])
207
208
  end
208
-
209
+
209
210
  def pid_file
210
211
  @pid ||= begin
211
212
  pid = options.pid
212
213
  unless pid =~ /^\//
213
214
  pid = File.expand_path(File.join(Dir.pwd,pid))
214
215
  end
215
-
216
+
216
217
  pid
217
218
  end
218
219
  end
219
220
  end
220
-
221
- end
221
+
222
+ end
@@ -1,15 +1,21 @@
1
- require 'less'
2
-
3
1
  class Assette::Reader::Less < Assette::Reader(:css)
4
2
 
5
3
  LESSC = !`which lessc`.empty?
6
4
 
5
+ begin
6
+ require 'less'
7
+ rescue LoadError => e
8
+ unless LESSC
9
+ warn("No version of less installed please run npm install -g less; or gem install less (not preferred)")
10
+ end
11
+ end
12
+
7
13
  def compile args={}
8
14
 
9
15
  if LESSC
10
16
  Assette.logger.info("less running") {"cd #{@file.dirname} && lessc < #{@file.filename}"}
11
17
  `cd #{@file.dirname} && lessc #{@file.filename}`
12
- else
18
+ elsif defined?(Less)
13
19
  parser = Less::Parser.new({
14
20
  :paths => [File.expand_path(@file.dirname)]|Assette.config.file_paths,
15
21
  :filename => @file.filename
@@ -18,9 +24,13 @@ class Assette::Reader::Less < Assette::Reader(:css)
18
24
  tree = parser.parse(text)
19
25
 
20
26
  tree.to_css(options.merge(args))
27
+ else
28
+ warn("cannot compile because no less interpreter installed #{@file.path}")
29
+
30
+ text
21
31
  end
22
32
  end
23
-
33
+
24
34
  private
25
35
 
26
36
  def options
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assette
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 5
10
- version: 0.1.5
9
+ - 6
10
+ version: 0.1.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tal Atlas
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-12 00:00:00 Z
18
+ date: 2012-01-17 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  version_requirements: &id001 !ruby/object:Gem::Requirement
@@ -77,20 +77,6 @@ dependencies:
77
77
  requirement: *id004
78
78
  - !ruby/object:Gem::Dependency
79
79
  version_requirements: &id005 !ruby/object:Gem::Requirement
80
- none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
88
- name: less
89
- prerelease: false
90
- type: :runtime
91
- requirement: *id005
92
- - !ruby/object:Gem::Dependency
93
- version_requirements: &id006 !ruby/object:Gem::Requirement
94
80
  none: false
95
81
  requirements:
96
82
  - - ">="
@@ -103,9 +89,9 @@ dependencies:
103
89
  name: mime-types
104
90
  prerelease: false
105
91
  type: :runtime
106
- requirement: *id006
92
+ requirement: *id005
107
93
  - !ruby/object:Gem::Dependency
108
- version_requirements: &id007 !ruby/object:Gem::Requirement
94
+ version_requirements: &id006 !ruby/object:Gem::Requirement
109
95
  none: false
110
96
  requirements:
111
97
  - - ">="
@@ -117,9 +103,9 @@ dependencies:
117
103
  name: git
118
104
  prerelease: false
119
105
  type: :runtime
120
- requirement: *id007
106
+ requirement: *id006
121
107
  - !ruby/object:Gem::Dependency
122
- version_requirements: &id008 !ruby/object:Gem::Requirement
108
+ version_requirements: &id007 !ruby/object:Gem::Requirement
123
109
  none: false
124
110
  requirements:
125
111
  - - ~>
@@ -131,9 +117,9 @@ dependencies:
131
117
  name: coffee-script
132
118
  prerelease: false
133
119
  type: :runtime
134
- requirement: *id008
120
+ requirement: *id007
135
121
  - !ruby/object:Gem::Dependency
136
- version_requirements: &id009 !ruby/object:Gem::Requirement
122
+ version_requirements: &id008 !ruby/object:Gem::Requirement
137
123
  none: false
138
124
  requirements:
139
125
  - - ">="
@@ -145,9 +131,9 @@ dependencies:
145
131
  name: uglifier
146
132
  prerelease: false
147
133
  type: :runtime
148
- requirement: *id009
134
+ requirement: *id008
149
135
  - !ruby/object:Gem::Dependency
150
- version_requirements: &id010 !ruby/object:Gem::Requirement
136
+ version_requirements: &id009 !ruby/object:Gem::Requirement
151
137
  none: false
152
138
  requirements:
153
139
  - - ~>
@@ -161,25 +147,9 @@ dependencies:
161
147
  name: rspec
162
148
  prerelease: false
163
149
  type: :development
164
- requirement: *id010
165
- - !ruby/object:Gem::Dependency
166
- version_requirements: &id011 !ruby/object:Gem::Requirement
167
- none: false
168
- requirements:
169
- - - ~>
170
- - !ruby/object:Gem::Version
171
- hash: 7
172
- segments:
173
- - 0
174
- - 6
175
- - 0
176
- version: 0.6.0
177
- name: yard
178
- prerelease: false
179
- type: :development
180
- requirement: *id011
150
+ requirement: *id009
181
151
  - !ruby/object:Gem::Dependency
182
- version_requirements: &id012 !ruby/object:Gem::Requirement
152
+ version_requirements: &id010 !ruby/object:Gem::Requirement
183
153
  none: false
184
154
  requirements:
185
155
  - - ~>
@@ -193,9 +163,9 @@ dependencies:
193
163
  name: bundler
194
164
  prerelease: false
195
165
  type: :development
196
- requirement: *id012
166
+ requirement: *id010
197
167
  - !ruby/object:Gem::Dependency
198
- version_requirements: &id013 !ruby/object:Gem::Requirement
168
+ version_requirements: &id011 !ruby/object:Gem::Requirement
199
169
  none: false
200
170
  requirements:
201
171
  - - ~>
@@ -209,23 +179,9 @@ dependencies:
209
179
  name: jeweler
210
180
  prerelease: false
211
181
  type: :development
212
- requirement: *id013
213
- - !ruby/object:Gem::Dependency
214
- version_requirements: &id014 !ruby/object:Gem::Requirement
215
- none: false
216
- requirements:
217
- - - ">="
218
- - !ruby/object:Gem::Version
219
- hash: 3
220
- segments:
221
- - 0
222
- version: "0"
223
- name: rcov
224
- prerelease: false
225
- type: :development
226
- requirement: *id014
182
+ requirement: *id011
227
183
  - !ruby/object:Gem::Dependency
228
- version_requirements: &id015 !ruby/object:Gem::Requirement
184
+ version_requirements: &id012 !ruby/object:Gem::Requirement
229
185
  none: false
230
186
  requirements:
231
187
  - - ">="
@@ -237,124 +193,7 @@ dependencies:
237
193
  name: rack-test
238
194
  prerelease: false
239
195
  type: :development
240
- requirement: *id015
241
- - !ruby/object:Gem::Dependency
242
- version_requirements: &id016 !ruby/object:Gem::Requirement
243
- none: false
244
- requirements:
245
- - - ">="
246
- - !ruby/object:Gem::Version
247
- hash: 7
248
- segments:
249
- - 1
250
- - 4
251
- version: "1.4"
252
- name: rack
253
- prerelease: false
254
- type: :runtime
255
- requirement: *id016
256
- - !ruby/object:Gem::Dependency
257
- version_requirements: &id017 !ruby/object:Gem::Requirement
258
- none: false
259
- requirements:
260
- - - ~>
261
- - !ruby/object:Gem::Version
262
- hash: 3
263
- segments:
264
- - 0
265
- version: "0"
266
- name: thor
267
- prerelease: false
268
- type: :runtime
269
- requirement: *id017
270
- - !ruby/object:Gem::Dependency
271
- version_requirements: &id018 !ruby/object:Gem::Requirement
272
- none: false
273
- requirements:
274
- - - ">="
275
- - !ruby/object:Gem::Version
276
- hash: 7
277
- segments:
278
- - 1
279
- - 4
280
- version: "1.4"
281
- name: json
282
- prerelease: false
283
- type: :runtime
284
- requirement: *id018
285
- - !ruby/object:Gem::Dependency
286
- version_requirements: &id019 !ruby/object:Gem::Requirement
287
- none: false
288
- requirements:
289
- - - ">="
290
- - !ruby/object:Gem::Version
291
- hash: 5
292
- segments:
293
- - 3
294
- - 1
295
- version: "3.1"
296
- name: sass
297
- prerelease: false
298
- type: :runtime
299
- requirement: *id019
300
- - !ruby/object:Gem::Dependency
301
- version_requirements: &id020 !ruby/object:Gem::Requirement
302
- none: false
303
- requirements:
304
- - - ">="
305
- - !ruby/object:Gem::Version
306
- hash: 3
307
- segments:
308
- - 2
309
- - 0
310
- version: "2.0"
311
- name: less
312
- prerelease: false
313
- type: :runtime
314
- requirement: *id020
315
- - !ruby/object:Gem::Dependency
316
- version_requirements: &id021 !ruby/object:Gem::Requirement
317
- none: false
318
- requirements:
319
- - - ~>
320
- - !ruby/object:Gem::Version
321
- hash: 7
322
- segments:
323
- - 2
324
- version: "2"
325
- name: coffee-script
326
- prerelease: false
327
- type: :runtime
328
- requirement: *id021
329
- - !ruby/object:Gem::Dependency
330
- version_requirements: &id022 !ruby/object:Gem::Requirement
331
- none: false
332
- requirements:
333
- - - ">="
334
- - !ruby/object:Gem::Version
335
- hash: 3
336
- segments:
337
- - 0
338
- version: "0"
339
- name: uglifier
340
- prerelease: false
341
- type: :runtime
342
- requirement: *id022
343
- - !ruby/object:Gem::Dependency
344
- version_requirements: &id023 !ruby/object:Gem::Requirement
345
- none: false
346
- requirements:
347
- - - ">="
348
- - !ruby/object:Gem::Version
349
- hash: 47
350
- segments:
351
- - 1
352
- - 16
353
- version: "1.16"
354
- name: mime-types
355
- prerelease: false
356
- type: :runtime
357
- requirement: *id023
196
+ requirement: *id012
358
197
  description: Renders all asset types (coffeescript/sass/scss) as equals
359
198
  email: me@tal.by
360
199
  executables: