haml 3.1.8 → 3.2.0.alpha.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of haml might be problematic. Click here for more details.

Files changed (148) hide show
  1. data/CONTRIBUTING +1 -1
  2. data/README.md +2 -2
  3. data/REVISION +1 -1
  4. data/Rakefile +16 -41
  5. data/VERSION +1 -1
  6. data/VERSION_NAME +1 -1
  7. data/lib/haml/buffer.rb +1 -5
  8. data/lib/haml/compiler.rb +7 -8
  9. data/lib/haml/exec.rb +1 -1
  10. data/lib/haml/helpers.rb +3 -5
  11. data/lib/haml/helpers/action_view_mods.rb +5 -21
  12. data/lib/haml/parser.rb +1 -1
  13. data/lib/haml/template.rb +1 -3
  14. data/lib/haml/util.rb +1 -1
  15. data/test/haml/engine_test.rb +12 -51
  16. data/test/haml/helper_test.rb +8 -25
  17. data/test/haml/html2haml_test.rb +1 -1
  18. data/test/haml/results/whitespace_handling.xhtml +50 -46
  19. data/test/haml/template_test.rb +2 -28
  20. data/test/haml/templates/partial_layout.haml +1 -4
  21. data/test/linked_rails.rb +4 -4
  22. data/vendor/sass/VERSION +1 -1
  23. data/vendor/sass/doc-src/SASS_CHANGELOG.md +2 -115
  24. data/vendor/sass/doc-src/SASS_REFERENCE.md +4 -12
  25. data/vendor/sass/lib/sass.rb +0 -1
  26. data/vendor/sass/lib/sass/cache_stores/base.rb +1 -3
  27. data/vendor/sass/lib/sass/cache_stores/filesystem.rb +0 -2
  28. data/vendor/sass/lib/sass/css.rb +1 -2
  29. data/vendor/sass/lib/sass/engine.rb +23 -39
  30. data/vendor/sass/lib/sass/environment.rb +0 -11
  31. data/vendor/sass/lib/sass/exec.rb +1 -14
  32. data/vendor/sass/lib/sass/importers/base.rb +1 -2
  33. data/vendor/sass/lib/sass/importers/filesystem.rb +13 -18
  34. data/vendor/sass/lib/sass/less.rb +2 -2
  35. data/vendor/sass/lib/sass/plugin.rb +8 -4
  36. data/vendor/sass/lib/sass/plugin/compiler.rb +17 -42
  37. data/vendor/sass/lib/sass/plugin/configuration.rb +2 -0
  38. data/vendor/sass/lib/sass/railtie.rb +1 -1
  39. data/vendor/sass/lib/sass/script/funcall.rb +1 -14
  40. data/vendor/sass/lib/sass/script/functions.rb +1 -44
  41. data/vendor/sass/lib/sass/script/interpolation.rb +0 -9
  42. data/vendor/sass/lib/sass/script/lexer.rb +1 -6
  43. data/vendor/sass/lib/sass/script/list.rb +0 -7
  44. data/vendor/sass/lib/sass/script/literal.rb +0 -5
  45. data/vendor/sass/lib/sass/script/node.rb +0 -8
  46. data/vendor/sass/lib/sass/script/number.rb +5 -28
  47. data/vendor/sass/lib/sass/script/operation.rb +0 -8
  48. data/vendor/sass/lib/sass/script/parser.rb +5 -12
  49. data/vendor/sass/lib/sass/script/string_interpolation.rb +0 -9
  50. data/vendor/sass/lib/sass/script/unary_operation.rb +0 -7
  51. data/vendor/sass/lib/sass/script/variable.rb +0 -5
  52. data/vendor/sass/lib/sass/scss/parser.rb +38 -78
  53. data/vendor/sass/lib/sass/scss/rx.rb +1 -2
  54. data/vendor/sass/lib/sass/scss/static_parser.rb +2 -2
  55. data/vendor/sass/lib/sass/shared.rb +1 -1
  56. data/vendor/sass/lib/sass/tree/comment_node.rb +11 -24
  57. data/vendor/sass/lib/sass/tree/debug_node.rb +1 -1
  58. data/vendor/sass/lib/sass/tree/each_node.rb +1 -1
  59. data/vendor/sass/lib/sass/tree/extend_node.rb +1 -1
  60. data/vendor/sass/lib/sass/tree/for_node.rb +2 -2
  61. data/vendor/sass/lib/sass/tree/function_node.rb +1 -1
  62. data/vendor/sass/lib/sass/tree/if_node.rb +14 -1
  63. data/vendor/sass/lib/sass/tree/mixin_def_node.rb +1 -1
  64. data/vendor/sass/lib/sass/tree/mixin_node.rb +2 -2
  65. data/vendor/sass/lib/sass/tree/node.rb +5 -2
  66. data/vendor/sass/lib/sass/tree/prop_node.rb +9 -2
  67. data/vendor/sass/lib/sass/tree/return_node.rb +1 -1
  68. data/vendor/sass/lib/sass/tree/rule_node.rb +2 -9
  69. data/vendor/sass/lib/sass/tree/variable_node.rb +1 -1
  70. data/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +18 -17
  71. data/vendor/sass/lib/sass/tree/visitors/convert.rb +5 -10
  72. data/vendor/sass/lib/sass/tree/visitors/perform.rb +19 -50
  73. data/vendor/sass/lib/sass/tree/visitors/to_css.rb +15 -9
  74. data/vendor/sass/lib/sass/tree/warn_node.rb +1 -1
  75. data/vendor/sass/lib/sass/tree/while_node.rb +1 -1
  76. data/vendor/sass/lib/sass/util.rb +6 -58
  77. data/vendor/sass/sass.gemspec +1 -2
  78. data/vendor/sass/test/sass/cache_test.rb +0 -15
  79. data/vendor/sass/test/sass/conversion_test.rb +6 -2
  80. data/vendor/sass/test/sass/css2sass_test.rb +0 -9
  81. data/vendor/sass/test/sass/engine_test.rb +26 -124
  82. data/vendor/sass/test/sass/functions_test.rb +0 -13
  83. data/vendor/sass/test/sass/importer_test.rb +0 -110
  84. data/vendor/sass/test/sass/plugin_test.rb +13 -16
  85. data/vendor/sass/test/sass/script_conversion_test.rb +0 -2
  86. data/vendor/sass/test/sass/script_test.rb +0 -18
  87. data/vendor/sass/test/sass/scss/css_test.rb +1 -7
  88. data/vendor/sass/test/sass/scss/scss_test.rb +13 -37
  89. data/vendor/sass/test/sass/test_helper.rb +1 -1
  90. data/vendor/sass/test/sass/util_test.rb +0 -12
  91. data/vendor/sass/vendor/fssm/LICENSE +1 -1
  92. data/vendor/sass/vendor/fssm/README.markdown +27 -55
  93. data/vendor/sass/vendor/fssm/Rakefile +54 -6
  94. data/vendor/sass/vendor/fssm/VERSION.yml +5 -0
  95. data/vendor/sass/vendor/fssm/example.rb +3 -6
  96. data/vendor/sass/vendor/fssm/fssm.gemspec +70 -17
  97. data/vendor/sass/vendor/fssm/lib/fssm.rb +3 -7
  98. data/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +1 -1
  99. data/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +2 -2
  100. data/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +2 -2
  101. data/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +10 -10
  102. data/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +9 -19
  103. data/vendor/sass/vendor/fssm/lib/fssm/path.rb +21 -24
  104. data/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +479 -13
  105. data/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +11 -29
  106. data/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +1 -1
  107. data/vendor/sass/vendor/fssm/lib/fssm/support.rb +12 -41
  108. data/vendor/sass/vendor/fssm/lib/fssm/tree.rb +6 -6
  109. data/vendor/sass/vendor/fssm/profile/prof-cache.rb +3 -3
  110. data/vendor/sass/vendor/fssm/profile/prof-pathname.rb +7 -7
  111. data/vendor/sass/vendor/fssm/spec/path_spec.rb +15 -36
  112. data/vendor/sass/vendor/fssm/spec/spec_helper.rb +6 -6
  113. metadata +78 -125
  114. data/lib/haml/helpers/rails_323_textarea_fix.rb +0 -41
  115. data/test/gemfiles/Gemfile.rails-2.0.x +0 -8
  116. data/test/gemfiles/Gemfile.rails-2.0.x.lock +0 -38
  117. data/test/gemfiles/Gemfile.rails-2.1.x +0 -8
  118. data/test/gemfiles/Gemfile.rails-2.1.x.lock +0 -38
  119. data/test/gemfiles/Gemfile.rails-2.2.x +0 -8
  120. data/test/gemfiles/Gemfile.rails-2.2.x.lock +0 -38
  121. data/test/gemfiles/Gemfile.rails-2.3.x +0 -8
  122. data/test/gemfiles/Gemfile.rails-2.3.x.lock +0 -40
  123. data/test/gemfiles/Gemfile.rails-3.0.x +0 -8
  124. data/test/gemfiles/Gemfile.rails-3.0.x.lock +0 -85
  125. data/test/gemfiles/Gemfile.rails-3.1.x +0 -8
  126. data/test/gemfiles/Gemfile.rails-3.1.x.lock +0 -97
  127. data/test/gemfiles/Gemfile.rails-3.2.x +0 -8
  128. data/test/gemfiles/Gemfile.rails-3.2.x.lock +0 -95
  129. data/test/gemfiles/Gemfile.rails-xss-2.3.x +0 -9
  130. data/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +0 -42
  131. data/vendor/sass/lib/sass/logger.rb +0 -15
  132. data/vendor/sass/lib/sass/logger/base.rb +0 -32
  133. data/vendor/sass/lib/sass/logger/log_level.rb +0 -49
  134. data/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +0 -87
  135. data/vendor/sass/lib/sass/tree/visitors/set_options.rb +0 -97
  136. data/vendor/sass/test/Gemfile +0 -4
  137. data/vendor/sass/test/Gemfile.lock +0 -19
  138. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  139. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  140. data/vendor/sass/test/sass/logger_test.rb +0 -58
  141. data/vendor/sass/test/sass/templates/bork5.sass +0 -3
  142. data/vendor/sass/test/sass/templates/nested_bork5.sass +0 -2
  143. data/vendor/sass/vendor/fssm/Gemfile +0 -3
  144. data/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +0 -42
  145. data/vendor/sass/vendor/fssm/lib/fssm/version.rb +0 -3
  146. data/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +0 -35
  147. data/vendor/sass/vendor/fssm/spec/count_down_latch.rb +0 -151
  148. data/vendor/sass/vendor/fssm/spec/monitor_spec.rb +0 -202
@@ -1,95 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- actionmailer (3.2.3)
5
- actionpack (= 3.2.3)
6
- mail (~> 2.4.4)
7
- actionpack (3.2.3)
8
- activemodel (= 3.2.3)
9
- activesupport (= 3.2.3)
10
- builder (~> 3.0.0)
11
- erubis (~> 2.7.0)
12
- journey (~> 1.0.1)
13
- rack (~> 1.4.0)
14
- rack-cache (~> 1.2)
15
- rack-test (~> 0.6.1)
16
- sprockets (~> 2.1.2)
17
- activemodel (3.2.3)
18
- activesupport (= 3.2.3)
19
- builder (~> 3.0.0)
20
- activerecord (3.2.3)
21
- activemodel (= 3.2.3)
22
- activesupport (= 3.2.3)
23
- arel (~> 3.0.2)
24
- tzinfo (~> 0.3.29)
25
- activeresource (3.2.3)
26
- activemodel (= 3.2.3)
27
- activesupport (= 3.2.3)
28
- activesupport (3.2.3)
29
- i18n (~> 0.6)
30
- multi_json (~> 1.0)
31
- arel (3.0.2)
32
- builder (3.0.0)
33
- erubis (2.7.0)
34
- hike (1.2.1)
35
- hpricot (0.8.6)
36
- i18n (0.6.0)
37
- journey (1.0.3)
38
- json (1.6.6)
39
- mail (2.4.4)
40
- i18n (>= 0.4.0)
41
- mime-types (~> 1.16)
42
- treetop (~> 1.4.8)
43
- mime-types (1.18)
44
- multi_json (1.2.0)
45
- polyglot (0.3.3)
46
- rack (1.4.1)
47
- rack-cache (1.2)
48
- rack (>= 0.4)
49
- rack-ssl (1.3.2)
50
- rack
51
- rack-test (0.6.1)
52
- rack (>= 1.0)
53
- rails (3.2.3)
54
- actionmailer (= 3.2.3)
55
- actionpack (= 3.2.3)
56
- activerecord (= 3.2.3)
57
- activeresource (= 3.2.3)
58
- activesupport (= 3.2.3)
59
- bundler (~> 1.0)
60
- railties (= 3.2.3)
61
- railties (3.2.3)
62
- actionpack (= 3.2.3)
63
- activesupport (= 3.2.3)
64
- rack-ssl (~> 1.3.2)
65
- rake (>= 0.8.7)
66
- rdoc (~> 3.4)
67
- thor (~> 0.14.6)
68
- rake (0.9.2.2)
69
- rdoc (3.12)
70
- json (~> 1.4)
71
- ruby_parser (2.3.1)
72
- sexp_processor (~> 3.0)
73
- sass (3.1.15)
74
- sexp_processor (3.1.0)
75
- sprockets (2.1.2)
76
- hike (~> 1.2)
77
- rack (~> 1.0)
78
- tilt (~> 1.1, != 1.3.0)
79
- thor (0.14.6)
80
- tilt (1.3.3)
81
- treetop (1.4.10)
82
- polyglot
83
- polyglot (>= 0.3.1)
84
- tzinfo (0.3.33)
85
-
86
- PLATFORMS
87
- ruby
88
-
89
- DEPENDENCIES
90
- erubis
91
- hpricot
92
- json
93
- rails (>= 3.2.0, < 3.3.0)
94
- ruby_parser
95
- sass
@@ -1,9 +0,0 @@
1
- source :gemcutter
2
-
3
- gem 'json'
4
- gem 'ruby_parser'
5
- gem 'hpricot'
6
- gem 'erubis'
7
- gem 'sass'
8
- gem 'rails', '>= 2.3.0', '< 2.4.0'
9
- gem 'rails_xss', '>= 0.1.1'
@@ -1,42 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- actionmailer (2.3.14)
5
- actionpack (= 2.3.14)
6
- actionpack (2.3.14)
7
- activesupport (= 2.3.14)
8
- rack (~> 1.1.0)
9
- activerecord (2.3.14)
10
- activesupport (= 2.3.14)
11
- activeresource (2.3.14)
12
- activesupport (= 2.3.14)
13
- activesupport (2.3.14)
14
- erubis (2.7.0)
15
- hpricot (0.8.4)
16
- json (1.6.1)
17
- rack (1.1.2)
18
- rails (2.3.14)
19
- actionmailer (= 2.3.14)
20
- actionpack (= 2.3.14)
21
- activerecord (= 2.3.14)
22
- activeresource (= 2.3.14)
23
- activesupport (= 2.3.14)
24
- rake (>= 0.8.3)
25
- rails_xss (0.1.3)
26
- rake (0.9.2)
27
- ruby_parser (2.3.0)
28
- sexp_processor (~> 3.0)
29
- sass (3.1.7)
30
- sexp_processor (3.0.6)
31
-
32
- PLATFORMS
33
- ruby
34
-
35
- DEPENDENCIES
36
- erubis
37
- hpricot
38
- json
39
- rails (>= 2.3.0, < 2.4.0)
40
- rails_xss (>= 0.1.1)
41
- ruby_parser
42
- sass
@@ -1,15 +0,0 @@
1
- module Sass::Logger
2
-
3
- end
4
-
5
- require "sass/logger/log_level"
6
- require "sass/logger/base"
7
-
8
- module Sass
9
-
10
- class << self
11
- attr_accessor :logger
12
- end
13
-
14
- self.logger = Sass::Logger::Base.new
15
- end
@@ -1,32 +0,0 @@
1
- require 'sass/logger/log_level'
2
-
3
- class Sass::Logger::Base
4
-
5
- include Sass::Logger::LogLevel
6
-
7
- attr_accessor :log_level
8
- attr_accessor :disabled
9
-
10
- log_level :trace
11
- log_level :debug
12
- log_level :info
13
- log_level :warn
14
- log_level :error
15
-
16
- def initialize(log_level = :debug)
17
- self.log_level = log_level
18
- end
19
-
20
- def logging_level?(level)
21
- !disabled && self.class.log_level?(level, log_level)
22
- end
23
-
24
- def log(level, message)
25
- self._log(level, message) if logging_level?(level)
26
- end
27
-
28
- def _log(level, message)
29
- Kernel::warn(message)
30
- end
31
-
32
- end
@@ -1,49 +0,0 @@
1
- module Sass
2
- module Logger
3
- module LogLevel
4
-
5
- def self.included(base)
6
- base.extend(ClassMethods)
7
- end
8
-
9
- module ClassMethods
10
- def inherited(subclass)
11
- subclass.log_levels = subclass.superclass.log_levels.dup
12
- end
13
-
14
- def log_levels
15
- @log_levels ||= {}
16
- end
17
-
18
- def log_levels=(levels)
19
- @log_levels = levels
20
- end
21
-
22
- def log_level?(level, min_level)
23
- log_levels[level] >= log_levels[min_level]
24
- end
25
-
26
- def log_level(name, options = {})
27
- if options[:prepend]
28
- level = log_levels.values.min
29
- level = level.nil? ? 0 : level - 1
30
- else
31
- level = log_levels.values.max
32
- level = level.nil? ? 0 : level + 1
33
- end
34
- log_levels.update(name => level)
35
- define_logger(name)
36
- end
37
-
38
- def define_logger(name, options = {})
39
- class_eval %Q{
40
- def #{name}(message)
41
- #{options.fetch(:to, :log)}(#{name.inspect}, message)
42
- end
43
- }
44
- end
45
- end
46
-
47
- end
48
- end
49
- end
@@ -1,87 +0,0 @@
1
- # A visitor for copying the full structure of a Sass tree.
2
- class Sass::Tree::Visitors::DeepCopy < Sass::Tree::Visitors::Base
3
- protected
4
-
5
- def visit(node)
6
- super(node.dup)
7
- end
8
-
9
- def visit_children(parent)
10
- parent.children = parent.children.map {|c| visit(c)}
11
- parent
12
- end
13
-
14
- def visit_debug(node)
15
- node.expr = node.expr.deep_copy
16
- yield
17
- end
18
-
19
- def visit_each(node)
20
- node.list = node.list.deep_copy
21
- yield
22
- end
23
-
24
- def visit_extend(node)
25
- node.selector = node.selector.map {|c| c.is_a?(Sass::Script::Node) ? c.deep_copy : c}
26
- yield
27
- end
28
-
29
- def visit_for(node)
30
- node.from = node.from.deep_copy
31
- node.to = node.to.deep_copy
32
- yield
33
- end
34
-
35
- def visit_function(node)
36
- node.args = node.args.map {|k, v| [k.deep_copy, v && v.deep_copy]}
37
- yield
38
- end
39
-
40
- def visit_if(node)
41
- node.expr = node.expr.deep_copy if node.expr
42
- node.else = visit(node.else) if node.else
43
- yield
44
- end
45
-
46
- def visit_mixindef(node)
47
- node.args = node.args.map {|k, v| [k.deep_copy, v && v.deep_copy]}
48
- yield
49
- end
50
-
51
- def visit_mixin(node)
52
- node.args = node.args.map {|a| a.deep_copy}
53
- node.keywords = Hash[node.keywords.map {|k, v| [k, v.deep_copy]}]
54
- yield
55
- end
56
-
57
- def visit_prop(node)
58
- node.name = node.name.map {|c| c.is_a?(Sass::Script::Node) ? c.deep_copy : c}
59
- node.value = node.value.deep_copy
60
- yield
61
- end
62
-
63
- def visit_return(node)
64
- node.expr = node.expr.deep_copy
65
- yield
66
- end
67
-
68
- def visit_rule(node)
69
- node.rule = node.rule.map {|c| c.is_a?(Sass::Script::Node) ? c.deep_copy : c}
70
- yield
71
- end
72
-
73
- def visit_variable(node)
74
- node.expr = node.expr.deep_copy
75
- yield
76
- end
77
-
78
- def visit_warn(node)
79
- node.expr = node.expr.deep_copy
80
- yield
81
- end
82
-
83
- def visit_while(node)
84
- node.expr = node.expr.deep_copy
85
- yield
86
- end
87
- end
@@ -1,97 +0,0 @@
1
- # A visitor for setting options on the Sass tree
2
- class Sass::Tree::Visitors::SetOptions < Sass::Tree::Visitors::Base
3
- # @param root [Tree::Node] The root node of the tree to visit.
4
- # @param options [{Symbol => Object}] The options has to set.
5
- def self.visit(root, options); new(options).send(:visit, root); end
6
-
7
- protected
8
-
9
- def initialize(options)
10
- @options = options
11
- end
12
-
13
- def visit(node)
14
- node.instance_variable_set('@options', @options)
15
- super
16
- end
17
-
18
- def visit_debug(node)
19
- node.expr.options = @options
20
- yield
21
- end
22
-
23
- def visit_each(node)
24
- node.list.options = @options
25
- yield
26
- end
27
-
28
- def visit_extend(node)
29
- node.selector.each {|c| c.options = @options if c.is_a?(Sass::Script::Node)}
30
- yield
31
- end
32
-
33
- def visit_for(node)
34
- node.from.options = @options
35
- node.to.options = @options
36
- yield
37
- end
38
-
39
- def visit_function(node)
40
- node.args.each do |k, v|
41
- k.options = @options
42
- v.options = @options if v
43
- end
44
- yield
45
- end
46
-
47
- def visit_if(node)
48
- node.expr.options = @options if node.expr
49
- visit(node.else) if node.else
50
- yield
51
- end
52
-
53
- def visit_mixindef(node)
54
- node.args.each do |k, v|
55
- k.options = @options
56
- v.options = @options if v
57
- end
58
- yield
59
- end
60
-
61
- def visit_mixin(node)
62
- node.args.each {|a| a.options = @options}
63
- node.keywords.each {|k, v| v.options = @options}
64
- yield
65
- end
66
-
67
- def visit_prop(node)
68
- node.name.each {|c| c.options = @options if c.is_a?(Sass::Script::Node)}
69
- node.value.options = @options
70
- yield
71
- end
72
-
73
- def visit_return(node)
74
- node.expr.options = @options
75
- yield
76
- end
77
-
78
- def visit_rule(node)
79
- node.rule.each {|c| c.options = @options if c.is_a?(Sass::Script::Node)}
80
- yield
81
- end
82
-
83
- def visit_variable(node)
84
- node.expr.options = @options
85
- yield
86
- end
87
-
88
- def visit_warn(node)
89
- node.expr.options = @options
90
- yield
91
- end
92
-
93
- def visit_while(node)
94
- node.expr.options = @options
95
- yield
96
- end
97
- end
@@ -1,4 +0,0 @@
1
- source :gemcutter
2
-
3
- gem 'rake'
4
- gem 'less', '< 2.0.0'
@@ -1,19 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- less (1.2.21)
5
- mutter (>= 0.4.2)
6
- treetop (>= 1.4.2)
7
- mutter (0.5.3)
8
- polyglot (0.3.2)
9
- rake (0.9.2)
10
- treetop (1.4.10)
11
- polyglot
12
- polyglot (>= 0.3.1)
13
-
14
- PLATFORMS
15
- ruby
16
-
17
- DEPENDENCIES
18
- less (< 2.0.0)
19
- rake