haml 3.2.0.alpha.10 → 3.2.0.alpha.13

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 (389) hide show
  1. data/.yardopts +19 -7
  2. data/CHANGELOG.md +1224 -0
  3. data/FAQ.md +157 -0
  4. data/README.md +99 -62
  5. data/REFERENCE.md +1404 -0
  6. data/Rakefile +52 -341
  7. data/init.rb +1 -18
  8. data/lib/haml.rb +6 -30
  9. data/lib/haml/buffer.rb +37 -16
  10. data/lib/haml/compiler.rb +52 -13
  11. data/lib/haml/engine.rb +61 -44
  12. data/lib/haml/exec.rb +21 -4
  13. data/lib/haml/filters.rb +136 -166
  14. data/lib/haml/helpers.rb +37 -10
  15. data/lib/haml/helpers/action_view_extensions.rb +2 -1
  16. data/lib/haml/helpers/action_view_mods.rb +67 -181
  17. data/lib/haml/helpers/rails_323_textarea_fix.rb +39 -0
  18. data/lib/haml/helpers/xss_mods.rb +9 -11
  19. data/lib/haml/html.rb +22 -9
  20. data/lib/haml/html/erb.rb +1 -1
  21. data/lib/haml/parser.rb +22 -15
  22. data/lib/haml/railtie.rb +2 -13
  23. data/lib/haml/template.rb +18 -85
  24. data/lib/haml/template/options.rb +1 -1
  25. data/lib/haml/template/plugin.rb +15 -101
  26. data/lib/haml/util.rb +120 -603
  27. data/lib/haml/version.rb +1 -107
  28. data/test/{haml/engine_test.rb → engine_test.rb} +137 -143
  29. data/test/{haml/erb → erb}/_av_partial_1.erb +1 -1
  30. data/test/{haml/erb → erb}/_av_partial_2.erb +1 -1
  31. data/test/{haml/erb → erb}/action_view.erb +1 -1
  32. data/test/{haml/erb → erb}/standard.erb +0 -0
  33. data/test/filters_test.rb +141 -0
  34. data/test/gemfiles/Gemfile.rails-3.0.x +4 -6
  35. data/test/gemfiles/Gemfile.rails-3.1.x +5 -6
  36. data/test/gemfiles/Gemfile.rails-3.2.x +6 -0
  37. data/test/haml-spec/LICENSE +14 -0
  38. data/test/{haml/spec → haml-spec}/README.md +26 -17
  39. data/test/haml-spec/lua_haml_spec.lua +38 -0
  40. data/test/haml-spec/perl_haml_test.pl +81 -0
  41. data/test/haml-spec/ruby_haml_test.rb +23 -0
  42. data/test/{haml/spec → haml-spec}/tests.json +132 -54
  43. data/test/{haml/helper_test.rb → helper_test.rb} +50 -36
  44. data/test/{haml/html2haml → html2haml}/erb_tests.rb +0 -0
  45. data/test/{haml/html2haml_test.rb → html2haml_test.rb} +11 -5
  46. data/test/{haml/markaby → markaby}/standard.mab +0 -0
  47. data/test/{haml/mocks → mocks}/article.rb +0 -0
  48. data/test/{haml/results → results}/content_for_layout.xhtml +0 -0
  49. data/test/{haml/results → results}/eval_suppressed.xhtml +0 -0
  50. data/test/{haml/results → results}/helpers.xhtml +0 -0
  51. data/test/{haml/results → results}/helpful.xhtml +0 -0
  52. data/test/{haml/results → results}/just_stuff.xhtml +0 -0
  53. data/test/{haml/results → results}/list.xhtml +0 -0
  54. data/test/{haml/results → results}/nuke_inner_whitespace.xhtml +0 -0
  55. data/test/{haml/results → results}/nuke_outer_whitespace.xhtml +0 -0
  56. data/test/{haml/results → results}/original_engine.xhtml +0 -0
  57. data/test/{haml/results → results}/partial_layout.xhtml +0 -0
  58. data/test/{haml/results → results}/partials.xhtml +0 -0
  59. data/test/{haml/results → results}/render_layout.xhtml +0 -0
  60. data/test/{haml/results → results}/silent_script.xhtml +1 -1
  61. data/test/{haml/results → results}/standard.xhtml +0 -0
  62. data/test/{haml/results → results}/tag_parsing.xhtml +0 -0
  63. data/test/{haml/results → results}/very_basic.xhtml +0 -0
  64. data/test/{haml/results → results}/whitespace_handling.xhtml +46 -50
  65. data/test/{haml/template_test.rb → template_test.rb} +20 -81
  66. data/test/{haml/templates → templates}/_av_partial_1.haml +1 -1
  67. data/test/{haml/templates → templates}/_av_partial_1_ugly.haml +1 -1
  68. data/test/{haml/templates → templates}/_av_partial_2.haml +1 -1
  69. data/test/{haml/templates → templates}/_av_partial_2_ugly.haml +1 -1
  70. data/test/{haml/templates → templates}/_layout.erb +0 -0
  71. data/test/{haml/templates → templates}/_layout_for_partial.haml +0 -0
  72. data/test/{haml/templates → templates}/_partial.haml +0 -0
  73. data/test/{haml/templates → templates}/_text_area.haml +0 -0
  74. data/test/{haml/templates → templates}/action_view.haml +1 -1
  75. data/test/{haml/templates → templates}/action_view_ugly.haml +1 -1
  76. data/test/{haml/templates → templates}/breakage.haml +0 -0
  77. data/test/{haml/templates → templates}/content_for_layout.haml +0 -0
  78. data/test/{haml/templates → templates}/eval_suppressed.haml +0 -0
  79. data/test/{haml/templates → templates}/helpers.haml +0 -0
  80. data/test/{haml/templates → templates}/helpful.haml +0 -0
  81. data/test/{haml/templates → templates}/just_stuff.haml +0 -0
  82. data/test/{haml/templates → templates}/list.haml +0 -0
  83. data/test/{haml/templates → templates}/nuke_inner_whitespace.haml +0 -0
  84. data/test/{haml/templates → templates}/nuke_outer_whitespace.haml +0 -0
  85. data/test/{haml/templates → templates}/original_engine.haml +0 -0
  86. data/test/templates/partial_layout.haml +3 -0
  87. data/test/{haml/templates → templates}/partialize.haml +0 -0
  88. data/test/{haml/templates → templates}/partials.haml +0 -0
  89. data/test/{haml/templates → templates}/render_layout.haml +0 -0
  90. data/test/{haml/templates → templates}/silent_script.haml +2 -2
  91. data/test/{haml/templates → templates}/standard.haml +0 -0
  92. data/test/{haml/templates → templates}/standard_ugly.haml +0 -0
  93. data/test/{haml/templates → templates}/tag_parsing.haml +0 -0
  94. data/test/{haml/templates → templates}/very_basic.haml +0 -0
  95. data/test/{haml/templates → templates}/whitespace_handling.haml +0 -0
  96. data/test/test_helper.rb +42 -34
  97. data/test/util_test.rb +80 -0
  98. metadata +259 -427
  99. data/CONTRIBUTING +0 -3
  100. data/REVISION +0 -1
  101. data/VERSION +0 -1
  102. data/VERSION_NAME +0 -1
  103. data/extra/update_watch.rb +0 -13
  104. data/lib/haml/root.rb +0 -7
  105. data/lib/haml/shared.rb +0 -78
  106. data/lib/haml/template/patch.rb +0 -58
  107. data/lib/sass.rb +0 -8
  108. data/lib/sass/plugin.rb +0 -10
  109. data/lib/sass/rails2_shim.rb +0 -9
  110. data/lib/sass/rails3_shim.rb +0 -16
  111. data/test/benchmark.rb +0 -91
  112. data/test/gemfiles/Gemfile.rails-2.0.x +0 -8
  113. data/test/gemfiles/Gemfile.rails-2.0.x.lock +0 -38
  114. data/test/gemfiles/Gemfile.rails-2.1.x +0 -8
  115. data/test/gemfiles/Gemfile.rails-2.1.x.lock +0 -38
  116. data/test/gemfiles/Gemfile.rails-2.2.x +0 -8
  117. data/test/gemfiles/Gemfile.rails-2.2.x.lock +0 -38
  118. data/test/gemfiles/Gemfile.rails-2.3.x +0 -8
  119. data/test/gemfiles/Gemfile.rails-2.3.x.lock +0 -40
  120. data/test/gemfiles/Gemfile.rails-3.0.x.lock +0 -85
  121. data/test/gemfiles/Gemfile.rails-3.1.x.lock +0 -98
  122. data/test/gemfiles/Gemfile.rails-xss-2.3.x +0 -9
  123. data/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +0 -42
  124. data/test/haml/results/filters.xhtml +0 -62
  125. data/test/haml/spec/lua_haml_spec.lua +0 -30
  126. data/test/haml/spec/ruby_haml_test.rb +0 -19
  127. data/test/haml/spec_test.rb +0 -44
  128. data/test/haml/templates/filters.haml +0 -66
  129. data/test/haml/templates/partial_layout.haml +0 -10
  130. data/test/haml/util_test.rb +0 -300
  131. data/test/linked_rails.rb +0 -42
  132. data/vendor/sass/CONTRIBUTING +0 -3
  133. data/vendor/sass/MIT-LICENSE +0 -20
  134. data/vendor/sass/README.md +0 -201
  135. data/vendor/sass/Rakefile +0 -339
  136. data/vendor/sass/TODO +0 -39
  137. data/vendor/sass/VERSION +0 -1
  138. data/vendor/sass/VERSION_NAME +0 -1
  139. data/vendor/sass/bin/sass +0 -8
  140. data/vendor/sass/bin/sass-convert +0 -7
  141. data/vendor/sass/bin/scss +0 -8
  142. data/vendor/sass/doc-src/FAQ.md +0 -35
  143. data/vendor/sass/doc-src/INDENTED_SYNTAX.md +0 -210
  144. data/vendor/sass/doc-src/SASS_CHANGELOG.md +0 -2327
  145. data/vendor/sass/doc-src/SASS_REFERENCE.md +0 -1965
  146. data/vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
  147. data/vendor/sass/ext/extconf.rb +0 -10
  148. data/vendor/sass/extra/update_watch.rb +0 -13
  149. data/vendor/sass/init.rb +0 -18
  150. data/vendor/sass/lib/sass.rb +0 -73
  151. data/vendor/sass/lib/sass/cache_stores.rb +0 -15
  152. data/vendor/sass/lib/sass/cache_stores/base.rb +0 -86
  153. data/vendor/sass/lib/sass/cache_stores/chain.rb +0 -33
  154. data/vendor/sass/lib/sass/cache_stores/filesystem.rb +0 -60
  155. data/vendor/sass/lib/sass/cache_stores/memory.rb +0 -47
  156. data/vendor/sass/lib/sass/cache_stores/null.rb +0 -25
  157. data/vendor/sass/lib/sass/callbacks.rb +0 -66
  158. data/vendor/sass/lib/sass/css.rb +0 -295
  159. data/vendor/sass/lib/sass/engine.rb +0 -878
  160. data/vendor/sass/lib/sass/environment.rb +0 -166
  161. data/vendor/sass/lib/sass/error.rb +0 -201
  162. data/vendor/sass/lib/sass/exec.rb +0 -672
  163. data/vendor/sass/lib/sass/importers.rb +0 -22
  164. data/vendor/sass/lib/sass/importers/base.rb +0 -139
  165. data/vendor/sass/lib/sass/importers/filesystem.rb +0 -149
  166. data/vendor/sass/lib/sass/less.rb +0 -382
  167. data/vendor/sass/lib/sass/logger.rb +0 -15
  168. data/vendor/sass/lib/sass/logger/base.rb +0 -32
  169. data/vendor/sass/lib/sass/logger/log_level.rb +0 -49
  170. data/vendor/sass/lib/sass/plugin.rb +0 -132
  171. data/vendor/sass/lib/sass/plugin/compiler.rb +0 -383
  172. data/vendor/sass/lib/sass/plugin/configuration.rb +0 -123
  173. data/vendor/sass/lib/sass/plugin/generic.rb +0 -15
  174. data/vendor/sass/lib/sass/plugin/merb.rb +0 -48
  175. data/vendor/sass/lib/sass/plugin/rack.rb +0 -60
  176. data/vendor/sass/lib/sass/plugin/rails.rb +0 -47
  177. data/vendor/sass/lib/sass/plugin/staleness_checker.rb +0 -173
  178. data/vendor/sass/lib/sass/railtie.rb +0 -9
  179. data/vendor/sass/lib/sass/repl.rb +0 -58
  180. data/vendor/sass/lib/sass/root.rb +0 -7
  181. data/vendor/sass/lib/sass/script.rb +0 -40
  182. data/vendor/sass/lib/sass/script/bool.rb +0 -18
  183. data/vendor/sass/lib/sass/script/color.rb +0 -480
  184. data/vendor/sass/lib/sass/script/css_lexer.rb +0 -29
  185. data/vendor/sass/lib/sass/script/css_parser.rb +0 -31
  186. data/vendor/sass/lib/sass/script/funcall.rb +0 -175
  187. data/vendor/sass/lib/sass/script/functions.rb +0 -1386
  188. data/vendor/sass/lib/sass/script/interpolation.rb +0 -79
  189. data/vendor/sass/lib/sass/script/lexer.rb +0 -339
  190. data/vendor/sass/lib/sass/script/list.rb +0 -83
  191. data/vendor/sass/lib/sass/script/literal.rb +0 -250
  192. data/vendor/sass/lib/sass/script/node.rb +0 -99
  193. data/vendor/sass/lib/sass/script/number.rb +0 -452
  194. data/vendor/sass/lib/sass/script/operation.rb +0 -99
  195. data/vendor/sass/lib/sass/script/parser.rb +0 -474
  196. data/vendor/sass/lib/sass/script/string.rb +0 -51
  197. data/vendor/sass/lib/sass/script/string_interpolation.rb +0 -103
  198. data/vendor/sass/lib/sass/script/unary_operation.rb +0 -64
  199. data/vendor/sass/lib/sass/script/variable.rb +0 -59
  200. data/vendor/sass/lib/sass/scss.rb +0 -17
  201. data/vendor/sass/lib/sass/scss/css_parser.rb +0 -46
  202. data/vendor/sass/lib/sass/scss/parser.rb +0 -960
  203. data/vendor/sass/lib/sass/scss/rx.rb +0 -128
  204. data/vendor/sass/lib/sass/scss/sass_parser.rb +0 -11
  205. data/vendor/sass/lib/sass/scss/script_lexer.rb +0 -15
  206. data/vendor/sass/lib/sass/scss/script_parser.rb +0 -25
  207. data/vendor/sass/lib/sass/scss/static_parser.rb +0 -40
  208. data/vendor/sass/lib/sass/selector.rb +0 -361
  209. data/vendor/sass/lib/sass/selector/abstract_sequence.rb +0 -62
  210. data/vendor/sass/lib/sass/selector/comma_sequence.rb +0 -81
  211. data/vendor/sass/lib/sass/selector/sequence.rb +0 -233
  212. data/vendor/sass/lib/sass/selector/simple.rb +0 -113
  213. data/vendor/sass/lib/sass/selector/simple_sequence.rb +0 -134
  214. data/vendor/sass/lib/sass/shared.rb +0 -78
  215. data/vendor/sass/lib/sass/tree/charset_node.rb +0 -22
  216. data/vendor/sass/lib/sass/tree/comment_node.rb +0 -90
  217. data/vendor/sass/lib/sass/tree/debug_node.rb +0 -18
  218. data/vendor/sass/lib/sass/tree/directive_node.rb +0 -23
  219. data/vendor/sass/lib/sass/tree/each_node.rb +0 -24
  220. data/vendor/sass/lib/sass/tree/extend_node.rb +0 -29
  221. data/vendor/sass/lib/sass/tree/for_node.rb +0 -36
  222. data/vendor/sass/lib/sass/tree/function_node.rb +0 -27
  223. data/vendor/sass/lib/sass/tree/if_node.rb +0 -52
  224. data/vendor/sass/lib/sass/tree/import_node.rb +0 -68
  225. data/vendor/sass/lib/sass/tree/media_node.rb +0 -32
  226. data/vendor/sass/lib/sass/tree/mixin_def_node.rb +0 -27
  227. data/vendor/sass/lib/sass/tree/mixin_node.rb +0 -32
  228. data/vendor/sass/lib/sass/tree/node.rb +0 -201
  229. data/vendor/sass/lib/sass/tree/prop_node.rb +0 -148
  230. data/vendor/sass/lib/sass/tree/return_node.rb +0 -18
  231. data/vendor/sass/lib/sass/tree/root_node.rb +0 -28
  232. data/vendor/sass/lib/sass/tree/rule_node.rb +0 -136
  233. data/vendor/sass/lib/sass/tree/variable_node.rb +0 -30
  234. data/vendor/sass/lib/sass/tree/visitors/base.rb +0 -75
  235. data/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +0 -133
  236. data/vendor/sass/lib/sass/tree/visitors/convert.rb +0 -260
  237. data/vendor/sass/lib/sass/tree/visitors/cssize.rb +0 -175
  238. data/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +0 -87
  239. data/vendor/sass/lib/sass/tree/visitors/perform.rb +0 -332
  240. data/vendor/sass/lib/sass/tree/visitors/set_options.rb +0 -97
  241. data/vendor/sass/lib/sass/tree/visitors/to_css.rb +0 -210
  242. data/vendor/sass/lib/sass/tree/warn_node.rb +0 -18
  243. data/vendor/sass/lib/sass/tree/while_node.rb +0 -18
  244. data/vendor/sass/lib/sass/util.rb +0 -721
  245. data/vendor/sass/lib/sass/util/subset_map.rb +0 -101
  246. data/vendor/sass/lib/sass/version.rb +0 -112
  247. data/vendor/sass/rails/init.rb +0 -1
  248. data/vendor/sass/sass.gemspec +0 -33
  249. data/vendor/sass/test/Gemfile +0 -4
  250. data/vendor/sass/test/Gemfile.lock +0 -19
  251. data/vendor/sass/test/sass/cache_test.rb +0 -89
  252. data/vendor/sass/test/sass/callbacks_test.rb +0 -61
  253. data/vendor/sass/test/sass/conversion_test.rb +0 -1199
  254. data/vendor/sass/test/sass/css2sass_test.rb +0 -373
  255. data/vendor/sass/test/sass/data/hsl-rgb.txt +0 -319
  256. data/vendor/sass/test/sass/engine_test.rb +0 -2567
  257. data/vendor/sass/test/sass/extend_test.rb +0 -1348
  258. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  259. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  260. data/vendor/sass/test/sass/functions_test.rb +0 -1038
  261. data/vendor/sass/test/sass/importer_test.rb +0 -192
  262. data/vendor/sass/test/sass/less_conversion_test.rb +0 -653
  263. data/vendor/sass/test/sass/logger_test.rb +0 -58
  264. data/vendor/sass/test/sass/mock_importer.rb +0 -49
  265. data/vendor/sass/test/sass/more_results/more1.css +0 -9
  266. data/vendor/sass/test/sass/more_results/more1_with_line_comments.css +0 -26
  267. data/vendor/sass/test/sass/more_results/more_import.css +0 -29
  268. data/vendor/sass/test/sass/more_templates/_more_partial.sass +0 -2
  269. data/vendor/sass/test/sass/more_templates/more1.sass +0 -23
  270. data/vendor/sass/test/sass/more_templates/more_import.sass +0 -11
  271. data/vendor/sass/test/sass/plugin_test.rb +0 -472
  272. data/vendor/sass/test/sass/results/alt.css +0 -4
  273. data/vendor/sass/test/sass/results/basic.css +0 -9
  274. data/vendor/sass/test/sass/results/compact.css +0 -5
  275. data/vendor/sass/test/sass/results/complex.css +0 -86
  276. data/vendor/sass/test/sass/results/compressed.css +0 -1
  277. data/vendor/sass/test/sass/results/expanded.css +0 -19
  278. data/vendor/sass/test/sass/results/if.css +0 -3
  279. data/vendor/sass/test/sass/results/import.css +0 -31
  280. data/vendor/sass/test/sass/results/import_charset.css +0 -4
  281. data/vendor/sass/test/sass/results/import_charset_1_8.css +0 -4
  282. data/vendor/sass/test/sass/results/import_charset_ibm866.css +0 -4
  283. data/vendor/sass/test/sass/results/line_numbers.css +0 -49
  284. data/vendor/sass/test/sass/results/mixins.css +0 -95
  285. data/vendor/sass/test/sass/results/multiline.css +0 -24
  286. data/vendor/sass/test/sass/results/nested.css +0 -22
  287. data/vendor/sass/test/sass/results/options.css +0 -1
  288. data/vendor/sass/test/sass/results/parent_ref.css +0 -13
  289. data/vendor/sass/test/sass/results/script.css +0 -16
  290. data/vendor/sass/test/sass/results/scss_import.css +0 -31
  291. data/vendor/sass/test/sass/results/scss_importee.css +0 -2
  292. data/vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  293. data/vendor/sass/test/sass/results/subdir/subdir.css +0 -3
  294. data/vendor/sass/test/sass/results/units.css +0 -11
  295. data/vendor/sass/test/sass/results/warn.css +0 -0
  296. data/vendor/sass/test/sass/results/warn_imported.css +0 -0
  297. data/vendor/sass/test/sass/script_conversion_test.rb +0 -285
  298. data/vendor/sass/test/sass/script_test.rb +0 -514
  299. data/vendor/sass/test/sass/scss/css_test.rb +0 -922
  300. data/vendor/sass/test/sass/scss/rx_test.rb +0 -156
  301. data/vendor/sass/test/sass/scss/scss_test.rb +0 -1273
  302. data/vendor/sass/test/sass/scss/test_helper.rb +0 -37
  303. data/vendor/sass/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  304. data/vendor/sass/test/sass/templates/_imported_charset_utf8.sass +0 -4
  305. data/vendor/sass/test/sass/templates/_partial.sass +0 -2
  306. data/vendor/sass/test/sass/templates/alt.sass +0 -16
  307. data/vendor/sass/test/sass/templates/basic.sass +0 -23
  308. data/vendor/sass/test/sass/templates/bork1.sass +0 -2
  309. data/vendor/sass/test/sass/templates/bork2.sass +0 -2
  310. data/vendor/sass/test/sass/templates/bork3.sass +0 -2
  311. data/vendor/sass/test/sass/templates/bork4.sass +0 -2
  312. data/vendor/sass/test/sass/templates/bork5.sass +0 -3
  313. data/vendor/sass/test/sass/templates/compact.sass +0 -17
  314. data/vendor/sass/test/sass/templates/complex.sass +0 -305
  315. data/vendor/sass/test/sass/templates/compressed.sass +0 -15
  316. data/vendor/sass/test/sass/templates/expanded.sass +0 -17
  317. data/vendor/sass/test/sass/templates/if.sass +0 -11
  318. data/vendor/sass/test/sass/templates/import.sass +0 -12
  319. data/vendor/sass/test/sass/templates/import_charset.sass +0 -7
  320. data/vendor/sass/test/sass/templates/import_charset_1_8.sass +0 -4
  321. data/vendor/sass/test/sass/templates/import_charset_ibm866.sass +0 -9
  322. data/vendor/sass/test/sass/templates/importee.less +0 -2
  323. data/vendor/sass/test/sass/templates/importee.sass +0 -19
  324. data/vendor/sass/test/sass/templates/line_numbers.sass +0 -13
  325. data/vendor/sass/test/sass/templates/mixin_bork.sass +0 -5
  326. data/vendor/sass/test/sass/templates/mixins.sass +0 -76
  327. data/vendor/sass/test/sass/templates/multiline.sass +0 -20
  328. data/vendor/sass/test/sass/templates/nested.sass +0 -25
  329. data/vendor/sass/test/sass/templates/nested_bork1.sass +0 -2
  330. data/vendor/sass/test/sass/templates/nested_bork2.sass +0 -2
  331. data/vendor/sass/test/sass/templates/nested_bork3.sass +0 -2
  332. data/vendor/sass/test/sass/templates/nested_bork4.sass +0 -2
  333. data/vendor/sass/test/sass/templates/nested_bork5.sass +0 -2
  334. data/vendor/sass/test/sass/templates/nested_import.sass +0 -2
  335. data/vendor/sass/test/sass/templates/nested_mixin_bork.sass +0 -6
  336. data/vendor/sass/test/sass/templates/options.sass +0 -2
  337. data/vendor/sass/test/sass/templates/parent_ref.sass +0 -25
  338. data/vendor/sass/test/sass/templates/script.sass +0 -101
  339. data/vendor/sass/test/sass/templates/scss_import.scss +0 -11
  340. data/vendor/sass/test/sass/templates/scss_importee.scss +0 -1
  341. data/vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  342. data/vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  343. data/vendor/sass/test/sass/templates/subdir/subdir.sass +0 -6
  344. data/vendor/sass/test/sass/templates/units.sass +0 -11
  345. data/vendor/sass/test/sass/templates/warn.sass +0 -3
  346. data/vendor/sass/test/sass/templates/warn_imported.sass +0 -4
  347. data/vendor/sass/test/sass/test_helper.rb +0 -8
  348. data/vendor/sass/test/sass/util/subset_map_test.rb +0 -91
  349. data/vendor/sass/test/sass/util_test.rb +0 -266
  350. data/vendor/sass/test/test_helper.rb +0 -69
  351. data/vendor/sass/vendor/fssm/Gemfile +0 -3
  352. data/vendor/sass/vendor/fssm/LICENSE +0 -20
  353. data/vendor/sass/vendor/fssm/README.markdown +0 -83
  354. data/vendor/sass/vendor/fssm/Rakefile +0 -11
  355. data/vendor/sass/vendor/fssm/example.rb +0 -12
  356. data/vendor/sass/vendor/fssm/fssm.gemspec +0 -24
  357. data/vendor/sass/vendor/fssm/lib/fssm.rb +0 -37
  358. data/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
  359. data/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
  360. data/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
  361. data/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +0 -42
  362. data/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
  363. data/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +0 -36
  364. data/vendor/sass/vendor/fssm/lib/fssm/path.rb +0 -94
  365. data/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +0 -36
  366. data/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +0 -75
  367. data/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +0 -24
  368. data/vendor/sass/vendor/fssm/lib/fssm/support.rb +0 -92
  369. data/vendor/sass/vendor/fssm/lib/fssm/tree.rb +0 -176
  370. data/vendor/sass/vendor/fssm/lib/fssm/version.rb +0 -3
  371. data/vendor/sass/vendor/fssm/profile/prof-cache.rb +0 -40
  372. data/vendor/sass/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
  373. data/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +0 -35
  374. data/vendor/sass/vendor/fssm/profile/prof-pathname.rb +0 -68
  375. data/vendor/sass/vendor/fssm/profile/prof-plain-pathname.html +0 -988
  376. data/vendor/sass/vendor/fssm/profile/prof.html +0 -2379
  377. data/vendor/sass/vendor/fssm/spec/count_down_latch.rb +0 -151
  378. data/vendor/sass/vendor/fssm/spec/monitor_spec.rb +0 -202
  379. data/vendor/sass/vendor/fssm/spec/path_spec.rb +0 -96
  380. data/vendor/sass/vendor/fssm/spec/root/duck/quack.txt +0 -0
  381. data/vendor/sass/vendor/fssm/spec/root/file.css +0 -0
  382. data/vendor/sass/vendor/fssm/spec/root/file.rb +0 -0
  383. data/vendor/sass/vendor/fssm/spec/root/file.yml +0 -0
  384. data/vendor/sass/vendor/fssm/spec/root/moo/cow.txt +0 -0
  385. data/vendor/sass/vendor/fssm/spec/spec_helper.rb +0 -14
  386. data/vendor/sass/yard/callbacks.rb +0 -29
  387. data/vendor/sass/yard/default/fulldoc/html/css/common.sass +0 -26
  388. data/vendor/sass/yard/default/layout/html/footer.erb +0 -12
  389. data/vendor/sass/yard/inherited_hash.rb +0 -41
@@ -1,123 +0,0 @@
1
- # We keep configuration in its own self-contained file
2
- # so that we can load it independently in Rails 3,
3
- # where the full plugin stuff is lazy-loaded.
4
-
5
- module Sass
6
- module Plugin
7
- module Configuration
8
-
9
- # Returns the default options for a {Sass::Plugin::Compiler}.
10
- #
11
- # @return [{Symbol => Object}]
12
- def default_options
13
- @default_options ||= {
14
- :css_location => './public/stylesheets',
15
- :always_update => false,
16
- :always_check => true,
17
- :full_exception => true,
18
- :cache_location => ".sass-cache"
19
- }.freeze
20
- end
21
-
22
- # Resets the options and {Sass::Callbacks::InstanceMethods#clear_callbacks! clears all callbacks}.
23
- def reset!
24
- @options = nil
25
- clear_callbacks!
26
- end
27
-
28
- # An options hash.
29
- # See {file:SASS_REFERENCE.md#sass_options the Sass options documentation}.
30
- #
31
- # @return [{Symbol => Object}]
32
- def options
33
- @options ||= default_options.dup
34
- end
35
-
36
- # Sets the options hash.
37
- # See {file:SASS_REFERENCE.md#sass_options the Sass options documentation}.
38
- # See {Sass::Plugin::Configuration#reset!}
39
- # @deprecated Instead, modify the options hash in-place.
40
- # @param value [{Symbol => Object}] The options hash
41
- def options=(value)
42
- Sass::Util.sass_warn("Setting Sass::Plugin.options is deprecated " +
43
- "and will be removed in a future release.")
44
- options.merge!(value)
45
- end
46
-
47
- # Adds a new template-location/css-location mapping.
48
- # This means that Sass/SCSS files in `template_location`
49
- # will be compiled to CSS files in `css_location`.
50
- #
51
- # This is preferred over manually manipulating the {file:SASS_REFERENCE.md#template_location-option `:template_location` option}
52
- # since the option can be in multiple formats.
53
- #
54
- # Note that this method will change `options[:template_location]`
55
- # to be in the Array format.
56
- # This means that even if `options[:template_location]`
57
- # had previously been a Hash or a String,
58
- # it will now be an Array.
59
- #
60
- # @param template_location [String] The location where Sass/SCSS files will be.
61
- # @param css_location [String] The location where compiled CSS files will go.
62
- def add_template_location(template_location, css_location = options[:css_location])
63
- normalize_template_location!
64
- template_location_array << [template_location, css_location]
65
- end
66
-
67
- # Removes a template-location/css-location mapping.
68
- # This means that Sass/SCSS files in `template_location`
69
- # will no longer be compiled to CSS files in `css_location`.
70
- #
71
- # This is preferred over manually manipulating the {file:SASS_REFERENCE.md#template_location-option `:template_location` option}
72
- # since the option can be in multiple formats.
73
- #
74
- # Note that this method will change `options[:template_location]`
75
- # to be in the Array format.
76
- # This means that even if `options[:template_location]`
77
- # had previously been a Hash or a String,
78
- # it will now be an Array.
79
- #
80
- # @param template_location [String]
81
- # The location where Sass/SCSS files were,
82
- # which is now going to be ignored.
83
- # @param css_location [String]
84
- # The location where compiled CSS files went, but will no longer go.
85
- # @return [Boolean]
86
- # Non-`nil` if the given mapping already existed and was removed,
87
- # or `nil` if nothing was changed.
88
- def remove_template_location(template_location, css_location = options[:css_location])
89
- normalize_template_location!
90
- template_location_array.delete([template_location, css_location])
91
- end
92
-
93
- # Returns the template locations configured for Sass
94
- # as an array of `[template_location, css_location]` pairs.
95
- # See the {file:SASS_REFERENCE.md#template_location-option `:template_location` option}
96
- # for details.
97
- #
98
- # @return [Array<(String, String)>]
99
- # An array of `[template_location, css_location]` pairs.
100
- def template_location_array
101
- old_template_location = options[:template_location]
102
- normalize_template_location!
103
- options[:template_location]
104
- ensure
105
- options[:template_location] = old_template_location
106
- end
107
-
108
- private
109
-
110
- def normalize_template_location!
111
- return if options[:template_location].is_a?(Array)
112
- options[:template_location] =
113
- case options[:template_location]
114
- when nil
115
- options[:css_location] ?
116
- [[File.join(options[:css_location], 'sass'), options[:css_location]]] : []
117
- when String; [[options[:template_location], options[:css_location]]]
118
- else; options[:template_location].to_a
119
- end
120
- end
121
- end
122
- end
123
- end
@@ -1,15 +0,0 @@
1
- # The reason some options are declared here rather than in sass/plugin/configuration.rb
2
- # is that otherwise they'd clobber the Rails-specific options.
3
- # Since Rails' options are lazy-loaded in Rails 3,
4
- # they're reverse-merged with the default options
5
- # so that user configuration is preserved.
6
- # This means that defaults that differ from Rails'
7
- # must be declared here.
8
-
9
- unless defined?(Sass::GENERIC_LOADED)
10
- Sass::GENERIC_LOADED = true
11
-
12
- Sass::Plugin.options.merge!(:css_location => './public/stylesheets',
13
- :always_update => false,
14
- :always_check => true)
15
- end
@@ -1,48 +0,0 @@
1
- unless defined?(Sass::MERB_LOADED)
2
- Sass::MERB_LOADED = true
3
-
4
- module Sass::Plugin::Configuration
5
- # Different default options in a m envirionment.
6
- def default_options
7
- @default_options ||= begin
8
- version = Merb::VERSION.split('.').map { |n| n.to_i }
9
- if version[0] <= 0 && version[1] < 5
10
- root = MERB_ROOT
11
- env = MERB_ENV
12
- else
13
- root = Merb.root.to_s
14
- env = Merb.environment
15
- end
16
-
17
- {
18
- :always_update => false,
19
- :template_location => root + '/public/stylesheets/sass',
20
- :css_location => root + '/public/stylesheets',
21
- :cache_location => root + '/tmp/sass-cache',
22
- :always_check => env != "production",
23
- :quiet => env != "production",
24
- :full_exception => env != "production"
25
- }.freeze
26
- end
27
- end
28
- end
29
-
30
- config = Merb::Plugins.config[:sass] || Merb::Plugins.config["sass"] || {}
31
-
32
- if defined? config.symbolize_keys!
33
- config.symbolize_keys!
34
- end
35
-
36
- Sass::Plugin.options.merge!(config)
37
-
38
- require 'sass/plugin/rack'
39
- class Sass::Plugin::MerbBootLoader < Merb::BootLoader
40
- after Merb::BootLoader::RackUpApplication
41
-
42
- def self.run
43
- # Apparently there's no better way than this to add Sass
44
- # to Merb's Rack stack.
45
- Merb::Config[:app] = Sass::Plugin::Rack.new(Merb::Config[:app])
46
- end
47
- end
48
- end
@@ -1,60 +0,0 @@
1
- module Sass
2
- module Plugin
3
- # Rack middleware for compiling Sass code.
4
- #
5
- # ## Activate
6
- #
7
- # require 'sass/plugin/rack'
8
- # use Sass::Plugin::Rack
9
- #
10
- # ## Customize
11
- #
12
- # Sass::Plugin.options.merge(
13
- # :cache_location => './tmp/sass-cache',
14
- # :never_update => environment != :production,
15
- # :full_exception => environment != :production)
16
- #
17
- # {file:SASS_REFERENCE.md#options See the Reference for more options}.
18
- #
19
- # ## Use
20
- #
21
- # Put your Sass files in `public/stylesheets/sass`.
22
- # Your CSS will be generated in `public/stylesheets`,
23
- # and regenerated every request if necessary.
24
- # The locations and frequency {file:SASS_REFERENCE.md#options can be customized}.
25
- # That's all there is to it!
26
- class Rack
27
- # The delay, in seconds, between update checks.
28
- # Useful when many resources are requested for a single page.
29
- # `nil` means no delay at all.
30
- #
31
- # @return [Float]
32
- attr_accessor :dwell
33
-
34
- # Initialize the middleware.
35
- #
36
- # @param app [#call] The Rack application
37
- # @param dwell [Float] See \{#dwell}
38
- def initialize(app, dwell = 1.0)
39
- @app = app
40
- @dwell = dwell
41
- @check_after = Time.now.to_f
42
- end
43
-
44
- # Process a request, checking the Sass stylesheets for changes
45
- # and updating them if necessary.
46
- #
47
- # @param env The Rack request environment
48
- # @return [(#to_i, {String => String}, Object)] The Rack response
49
- def call(env)
50
- if @dwell.nil? || Time.now.to_f > @check_after
51
- Sass::Plugin.check_for_updates
52
- @check_after = Time.now.to_f + @dwell if @dwell
53
- end
54
- @app.call(env)
55
- end
56
- end
57
- end
58
- end
59
-
60
- require 'sass/plugin'
@@ -1,47 +0,0 @@
1
- unless defined?(Sass::RAILS_LOADED)
2
- Sass::RAILS_LOADED = true
3
-
4
- module Sass::Plugin::Configuration
5
- # Different default options in a rails envirionment.
6
- def default_options
7
- return @default_options if @default_options
8
- opts = {
9
- :quiet => Sass::Util.rails_env != "production",
10
- :full_exception => Sass::Util.rails_env != "production",
11
- :cache_location => Sass::Util.rails_root + '/tmp/sass-cache'
12
- }
13
-
14
- opts.merge!(
15
- :always_update => false,
16
- :template_location => Sass::Util.rails_root + '/public/stylesheets/sass',
17
- :css_location => Sass::Util.rails_root + '/public/stylesheets',
18
- :always_check => Sass::Util.rails_env == "development")
19
-
20
- @default_options = opts.freeze
21
- end
22
- end
23
-
24
- Sass::Plugin.options.reverse_merge!(Sass::Plugin.default_options)
25
-
26
- # Rails 3.1 loads and handles Sass all on its own
27
- if defined?(ActionController::Metal)
28
- # 3.1 > Rails >= 3.0
29
- require 'sass/plugin/rack'
30
- Rails.configuration.middleware.use(Sass::Plugin::Rack)
31
- elsif defined?(ActionController::Dispatcher) &&
32
- defined?(ActionController::Dispatcher.middleware)
33
- # Rails >= 2.3
34
- require 'sass/plugin/rack'
35
- ActionController::Dispatcher.middleware.use(Sass::Plugin::Rack)
36
- else
37
- module ActionController
38
- class Base
39
- alias_method :sass_old_process, :process
40
- def process(*args)
41
- Sass::Plugin.check_for_updates
42
- sass_old_process(*args)
43
- end
44
- end
45
- end
46
- end
47
- end
@@ -1,173 +0,0 @@
1
- module Sass
2
- module Plugin
3
- # The class handles `.s[ca]ss` file staleness checks via their mtime timestamps.
4
- #
5
- # To speed things up two level of caches are employed:
6
- #
7
- # * A class-level dependency cache which stores @import paths for each file.
8
- # This is a long-lived cache that is reused by every StalenessChecker instance.
9
- # * Three short-lived instance-level caches, one for file mtimes,
10
- # one for whether a file is stale during this particular run.
11
- # and one for the parse tree for a file.
12
- # These are only used by a single StalenessChecker instance.
13
- #
14
- # Usage:
15
- #
16
- # * For a one-off staleness check of a single `.s[ca]ss` file,
17
- # the class-level {stylesheet_needs_update?} method
18
- # should be used.
19
- # * For a series of staleness checks (e.g. checking all files for staleness)
20
- # a StalenessChecker instance should be created,
21
- # and the instance-level \{#stylesheet\_needs\_update?} method should be used.
22
- # the caches should make the whole process significantly faster.
23
- # *WARNING*: It is important not to retain the instance for too long,
24
- # as its instance-level caches are never explicitly expired.
25
- class StalenessChecker
26
- @dependencies_cache = {}
27
-
28
- class << self
29
- # TODO: attach this to a compiler instance.
30
- # @private
31
- attr_accessor :dependencies_cache
32
- end
33
-
34
- # Creates a new StalenessChecker
35
- # for checking the staleness of several stylesheets at once.
36
- #
37
- # @param options [{Symbol => Object}]
38
- # See {file:SASS_REFERENCE.md#sass_options the Sass options documentation}.
39
- def initialize(options)
40
- @dependencies = self.class.dependencies_cache
41
-
42
- # Entries in the following instance-level caches are never explicitly expired.
43
- # Instead they are supposed to automaticaly go out of scope when a series of staleness checks
44
- # (this instance of StalenessChecker was created for) is finished.
45
- @mtimes, @dependencies_stale, @parse_trees = {}, {}, {}
46
- @options = Sass::Engine.normalize_options(options)
47
- end
48
-
49
- # Returns whether or not a given CSS file is out of date
50
- # and needs to be regenerated.
51
- #
52
- # @param css_file [String] The location of the CSS file to check.
53
- # @param template_file [String] The location of the Sass or SCSS template
54
- # that is compiled to `css_file`.
55
- # @return [Boolean] Whether the stylesheet needs to be updated.
56
- def stylesheet_needs_update?(css_file, template_file, importer = nil)
57
- template_file = File.expand_path(template_file)
58
- begin
59
- css_mtime = File.mtime(css_file)
60
- rescue Errno::ENOENT
61
- return true
62
- end
63
- stylesheet_modified_since?(template_file, css_mtime, importer)
64
- end
65
-
66
- # Returns whether a Sass or SCSS stylesheet has been modified since a given time.
67
- #
68
- # @param template_file [String] The location of the Sass or SCSS template.
69
- # @param mtime [Fixnum] The modification time to check against.
70
- # @param importer [Sass::Importers::Base] The importer used to locate the stylesheet.
71
- # Defaults to the filesystem importer.
72
- # @return [Boolean] Whether the stylesheet has been modified.
73
- def stylesheet_modified_since?(template_file, mtime, importer = nil)
74
- importer ||= @options[:filesystem_importer].new(".")
75
- dependency_updated?(mtime).call(template_file, importer)
76
- end
77
-
78
- # Returns whether or not a given CSS file is out of date
79
- # and needs to be regenerated.
80
- #
81
- # The distinction between this method and the instance-level \{#stylesheet\_needs\_update?}
82
- # is that the instance method preserves mtime and stale-dependency caches,
83
- # so it's better to use when checking multiple stylesheets at once.
84
- #
85
- # @param css_file [String] The location of the CSS file to check.
86
- # @param template_file [String] The location of the Sass or SCSS template
87
- # that is compiled to `css_file`.
88
- # @return [Boolean] Whether the stylesheet needs to be updated.
89
- def self.stylesheet_needs_update?(css_file, template_file, importer = nil)
90
- new(Plugin.engine_options).stylesheet_needs_update?(css_file, template_file, importer)
91
- end
92
-
93
- # Returns whether a Sass or SCSS stylesheet has been modified since a given time.
94
- #
95
- # The distinction between this method and the instance-level \{#stylesheet\_modified\_since?}
96
- # is that the instance method preserves mtime and stale-dependency caches,
97
- # so it's better to use when checking multiple stylesheets at once.
98
- #
99
- # @param template_file [String] The location of the Sass or SCSS template.
100
- # @param mtime [Fixnum] The modification time to check against.
101
- # @param importer [Sass::Importers::Base] The importer used to locate the stylesheet.
102
- # Defaults to the filesystem importer.
103
- # @return [Boolean] Whether the stylesheet has been modified.
104
- def self.stylesheet_modified_since?(template_file, mtime, importer = nil)
105
- new(Plugin.engine_options).stylesheet_modified_since?(template_file, mtime, importer)
106
- end
107
-
108
- private
109
-
110
- def dependencies_stale?(uri, importer, css_mtime)
111
- timestamps = @dependencies_stale[[uri, importer]] ||= {}
112
- timestamps.each_pair do |checked_css_mtime, is_stale|
113
- if checked_css_mtime <= css_mtime && !is_stale
114
- return false
115
- elsif checked_css_mtime > css_mtime && is_stale
116
- return true
117
- end
118
- end
119
- timestamps[css_mtime] = dependencies(uri, importer).any?(&dependency_updated?(css_mtime))
120
- rescue Sass::SyntaxError
121
- # If there's an error finding dependencies, default to recompiling.
122
- true
123
- end
124
-
125
- def mtime(uri, importer)
126
- @mtimes[[uri, importer]] ||=
127
- begin
128
- mtime = importer.mtime(uri, @options)
129
- if mtime.nil?
130
- @dependencies.delete([uri, importer])
131
- nil
132
- else
133
- mtime
134
- end
135
- end
136
- end
137
-
138
- def dependencies(uri, importer)
139
- stored_mtime, dependencies = @dependencies[[uri, importer]]
140
-
141
- if !stored_mtime || stored_mtime < mtime(uri, importer)
142
- dependencies = compute_dependencies(uri, importer)
143
- @dependencies[[uri, importer]] = [mtime(uri, importer), dependencies]
144
- end
145
-
146
- dependencies
147
- end
148
-
149
- def dependency_updated?(css_mtime)
150
- Proc.new do |uri, importer|
151
- sass_mtime = mtime(uri, importer)
152
- !sass_mtime ||
153
- sass_mtime > css_mtime ||
154
- dependencies_stale?(uri, importer, css_mtime)
155
- end
156
- end
157
-
158
- def compute_dependencies(uri, importer)
159
- tree(uri, importer).grep(Tree::ImportNode) do |n|
160
- next if n.css_import?
161
- file = n.imported_file
162
- key = [file.options[:filename], file.options[:importer]]
163
- @parse_trees[key] = file.to_tree
164
- key
165
- end.compact
166
- end
167
-
168
- def tree(uri, importer)
169
- @parse_trees[[uri, importer]] ||= importer.find(uri, @options).to_tree
170
- end
171
- end
172
- end
173
- end