compass-sourcemaps 0.12.3.sourcemaps.a4836f1 → 0.12.4.sourcemaps.a4836f1

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.
Files changed (495) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.markdown +29 -29
  3. data/README.markdown +39 -39
  4. data/Rakefile +157 -157
  5. data/VERSION.yml +5 -5
  6. data/bin/compass +45 -45
  7. data/examples/README.markdown +3 -3
  8. data/examples/blueprint_default/config.rb +7 -7
  9. data/examples/blueprint_default/index.html.haml +85 -85
  10. data/examples/blueprint_default/parts/elements.html.haml +282 -282
  11. data/examples/blueprint_default/parts/forms.html.haml +200 -200
  12. data/examples/blueprint_default/parts/grid.html.haml +274 -274
  13. data/examples/blueprint_default/src/ie.scss +3 -3
  14. data/examples/blueprint_default/src/print.scss +3 -3
  15. data/examples/blueprint_default/src/screen.scss +9 -9
  16. data/examples/blueprint_plugins/config.rb +8 -8
  17. data/examples/blueprint_plugins/index.html.haml +96 -96
  18. data/examples/blueprint_plugins/plugins/buttons.html.haml +67 -67
  19. data/examples/blueprint_plugins/plugins/fancy_type.html.haml +100 -100
  20. data/examples/blueprint_plugins/plugins/link_icons.html.haml +61 -61
  21. data/examples/blueprint_plugins/plugins/rtl.html.haml +100 -100
  22. data/examples/blueprint_plugins/src/buttons.scss +47 -47
  23. data/examples/blueprint_plugins/src/ie.scss +3 -3
  24. data/examples/blueprint_plugins/src/link_icons.scss +13 -13
  25. data/examples/blueprint_plugins/src/print.scss +3 -3
  26. data/examples/blueprint_plugins/src/rtl_screen.scss +15 -15
  27. data/examples/blueprint_plugins/src/screen.scss +12 -12
  28. data/examples/blueprint_scoped/src/ie.scss +4 -4
  29. data/examples/blueprint_scoped/src/print.scss +4 -4
  30. data/examples/blueprint_scoped/src/screen.scss +5 -5
  31. data/examples/blueprint_scoped_form/src/ie.scss +3 -3
  32. data/examples/blueprint_scoped_form/src/print.scss +3 -3
  33. data/examples/blueprint_scoped_form/src/screen.scss +15 -15
  34. data/examples/blueprint_semantic/config.rb +7 -7
  35. data/examples/blueprint_semantic/index.html.haml +86 -86
  36. data/examples/blueprint_semantic/parts/fancy_type.html.haml +100 -100
  37. data/examples/blueprint_semantic/parts/liquid.html.haml +100 -100
  38. data/examples/blueprint_semantic/src/ie.scss +3 -3
  39. data/examples/blueprint_semantic/src/liquid.scss +69 -69
  40. data/examples/blueprint_semantic/src/print.scss +3 -3
  41. data/examples/blueprint_semantic/src/screen.scss +69 -69
  42. data/examples/compass/bootstrap.rb +3 -3
  43. data/examples/compass/clean.rb +1 -1
  44. data/examples/compass/compass.html.haml +39 -39
  45. data/examples/compass/config.rb +8 -8
  46. data/examples/compass/pie.html.haml +73 -73
  47. data/examples/compass/sprites.html.haml +37 -37
  48. data/examples/compass/src/bp_layout.scss +18 -18
  49. data/examples/compass/src/compass.scss +46 -46
  50. data/examples/compass/src/pie.scss +110 -110
  51. data/examples/compass/src/sprites.scss +24 -24
  52. data/examples/compass/src/sticky_footer.scss +11 -11
  53. data/examples/compass/src/utilities.scss +108 -108
  54. data/examples/compass/sticky_footer.html.haml +13 -13
  55. data/examples/compass/utilities.html.haml +189 -189
  56. data/examples/css3/bootstrap.rb +3 -3
  57. data/examples/css3/clean.rb +2 -2
  58. data/examples/css3/config.rb +6 -6
  59. data/examples/css3/extensions/fancy-fonts/templates/project/fancy-fonts.sass +10 -10
  60. data/examples/css3/extensions/fancy-fonts/templates/project/manifest.rb +6 -6
  61. data/examples/css3/gradients.html.haml +68 -68
  62. data/examples/css3/index.html.haml +57 -57
  63. data/examples/css3/src/_base.scss +13 -13
  64. data/examples/css3/src/fancy-fonts.scss +13 -13
  65. data/examples/css3/src/gradients.scss +85 -85
  66. data/examples/css3/src/main.scss +108 -108
  67. data/examples/downloader.rb +58 -58
  68. data/examples/ninesixty/bootstrap.rb +4 -4
  69. data/examples/ninesixty/clean.rb +1 -1
  70. data/examples/ninesixty/config.rb +9 -9
  71. data/examples/ninesixty/src/grid.scss +15 -15
  72. data/examples/ninesixty/src/text.scss +8 -8
  73. data/examples/susy/bootstrap.rb +3 -3
  74. data/examples/susy/clean.rb +1 -1
  75. data/examples/susy/config.rb +9 -9
  76. data/examples/susy/src/_base.scss +61 -61
  77. data/examples/susy/src/_defaults.scss +140 -140
  78. data/examples/susy/src/screen.scss +100 -100
  79. data/examples/yui/bootstrap.rb +2 -2
  80. data/examples/yui/clean.rb +1 -1
  81. data/examples/yui/divisions.html.haml +179 -179
  82. data/examples/yui/index.html.haml +19 -19
  83. data/examples/yui/src/screen.scss +13 -13
  84. data/examples/yui/sub_divisions.html.haml +169 -169
  85. data/examples/yui/templates.html.haml +54 -54
  86. data/examples/yui/typography.html.haml +132 -132
  87. data/features/command_line.feature +292 -292
  88. data/features/extensions.feature +27 -27
  89. data/features/step_definitions/command_line_steps.rb +268 -268
  90. data/features/step_definitions/extension_steps.rb +24 -24
  91. data/frameworks/blueprint/stylesheets/_blueprint.scss +37 -37
  92. data/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +100 -100
  93. data/frameworks/blueprint/stylesheets/blueprint/_colors.scss +36 -36
  94. data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +28 -28
  95. data/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +88 -88
  96. data/frameworks/blueprint/stylesheets/blueprint/_form.scss +66 -66
  97. data/frameworks/blueprint/stylesheets/blueprint/_grid.scss +258 -258
  98. data/frameworks/blueprint/stylesheets/blueprint/_ie.scss +111 -111
  99. data/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +66 -66
  100. data/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +37 -37
  101. data/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +152 -152
  102. data/frameworks/blueprint/stylesheets/blueprint/_print.scss +86 -86
  103. data/frameworks/blueprint/stylesheets/blueprint/_reset.scss +2 -2
  104. data/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +121 -121
  105. data/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +52 -52
  106. data/frameworks/blueprint/stylesheets/blueprint/_typography.scss +90 -90
  107. data/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +37 -37
  108. data/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +83 -83
  109. data/frameworks/blueprint/templates/basic/ie.sass +4 -4
  110. data/frameworks/blueprint/templates/basic/manifest.rb +30 -30
  111. data/frameworks/blueprint/templates/basic/partials/_base.sass +10 -10
  112. data/frameworks/blueprint/templates/basic/print.sass +4 -4
  113. data/frameworks/blueprint/templates/basic/screen.sass +12 -12
  114. data/frameworks/blueprint/templates/buttons/buttons.sass +49 -49
  115. data/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  116. data/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  117. data/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  118. data/frameworks/blueprint/templates/buttons/manifest.rb +17 -17
  119. data/frameworks/blueprint/templates/link_icons/link_icons.sass +13 -13
  120. data/frameworks/blueprint/templates/link_icons/manifest.rb +23 -23
  121. data/frameworks/blueprint/templates/project/ie.sass +16 -16
  122. data/frameworks/blueprint/templates/project/manifest.rb +30 -30
  123. data/frameworks/blueprint/templates/project/partials/_base.sass +11 -11
  124. data/frameworks/blueprint/templates/project/print.sass +7 -7
  125. data/frameworks/blueprint/templates/project/screen.sass +46 -46
  126. data/frameworks/blueprint/templates/semantic/ie.sass +16 -16
  127. data/frameworks/blueprint/templates/semantic/manifest.rb +33 -33
  128. data/frameworks/blueprint/templates/semantic/partials/_base.sass +10 -10
  129. data/frameworks/blueprint/templates/semantic/partials/_form.sass +5 -5
  130. data/frameworks/blueprint/templates/semantic/partials/_page.sass +17 -17
  131. data/frameworks/blueprint/templates/semantic/partials/_two_col.sass +38 -38
  132. data/frameworks/blueprint/templates/semantic/print.sass +4 -4
  133. data/frameworks/blueprint/templates/semantic/screen.sass +14 -14
  134. data/frameworks/compass/stylesheets/_compass.scss +3 -3
  135. data/frameworks/compass/stylesheets/_lemonade.scss +37 -37
  136. data/frameworks/compass/stylesheets/compass/_css3.scss +20 -20
  137. data/frameworks/compass/stylesheets/compass/_layout.scss +3 -3
  138. data/frameworks/compass/stylesheets/compass/_reset-legacy.scss +3 -3
  139. data/frameworks/compass/stylesheets/compass/_reset.scss +3 -3
  140. data/frameworks/compass/stylesheets/compass/_support.scss +40 -40
  141. data/frameworks/compass/stylesheets/compass/_typography.scss +4 -4
  142. data/frameworks/compass/stylesheets/compass/_utilities.scss +9 -9
  143. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +17 -17
  144. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +43 -43
  145. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +42 -42
  146. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +26 -26
  147. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +130 -130
  148. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +76 -76
  149. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +13 -13
  150. data/frameworks/compass/stylesheets/compass/css3/_box.scss +111 -111
  151. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +156 -156
  152. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +23 -23
  153. data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +48 -48
  154. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +77 -77
  155. data/frameworks/compass/stylesheets/compass/css3/_images.scss +132 -132
  156. data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +22 -22
  157. data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +19 -19
  158. data/frameworks/compass/stylesheets/compass/css3/_pie.scss +72 -72
  159. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +21 -21
  160. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +38 -38
  161. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +87 -87
  162. data/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss +87 -87
  163. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +598 -598
  164. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +221 -221
  165. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +17 -17
  166. data/frameworks/compass/stylesheets/compass/layout/_grid-background.scss +178 -178
  167. data/frameworks/compass/stylesheets/compass/layout/_sticky-footer.scss +23 -23
  168. data/frameworks/compass/stylesheets/compass/layout/_stretching.scss +23 -23
  169. data/frameworks/compass/stylesheets/compass/reset/_utilities-legacy.scss +135 -135
  170. data/frameworks/compass/stylesheets/compass/reset/_utilities.scss +142 -142
  171. data/frameworks/compass/stylesheets/compass/typography/_links.scss +3 -3
  172. data/frameworks/compass/stylesheets/compass/typography/_lists.scss +4 -4
  173. data/frameworks/compass/stylesheets/compass/typography/_text.scss +4 -4
  174. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +221 -221
  175. data/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss +5 -5
  176. data/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss +28 -28
  177. data/frameworks/compass/stylesheets/compass/typography/links/_unstyled-link.scss +7 -7
  178. data/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss +34 -34
  179. data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +61 -61
  180. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -50
  181. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +44 -44
  182. data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +25 -25
  183. data/frameworks/compass/stylesheets/compass/typography/text/_force-wrap.scss +12 -12
  184. data/frameworks/compass/stylesheets/compass/typography/text/_nowrap.scss +2 -2
  185. data/frameworks/compass/stylesheets/compass/typography/text/_replacement.scss +68 -68
  186. data/frameworks/compass/stylesheets/compass/utilities/_general.scss +6 -6
  187. data/frameworks/compass/stylesheets/compass/utilities/_links.scss +5 -5
  188. data/frameworks/compass/stylesheets/compass/utilities/_lists.scss +6 -6
  189. data/frameworks/compass/stylesheets/compass/utilities/_print.scss +17 -17
  190. data/frameworks/compass/stylesheets/compass/utilities/_sprites.scss +2 -2
  191. data/frameworks/compass/stylesheets/compass/utilities/_tables.scss +3 -3
  192. data/frameworks/compass/stylesheets/compass/utilities/_text.scss +5 -5
  193. data/frameworks/compass/stylesheets/compass/utilities/color/_contrast.scss +27 -27
  194. data/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +44 -44
  195. data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +29 -29
  196. data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +46 -46
  197. data/frameworks/compass/stylesheets/compass/utilities/general/_min.scss +16 -16
  198. data/frameworks/compass/stylesheets/compass/utilities/general/_reset.scss +1 -1
  199. data/frameworks/compass/stylesheets/compass/utilities/general/_tabs.scss +1 -1
  200. data/frameworks/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -18
  201. data/frameworks/compass/stylesheets/compass/utilities/links/_hover-link.scss +3 -3
  202. data/frameworks/compass/stylesheets/compass/utilities/links/_link-colors.scss +3 -3
  203. data/frameworks/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -3
  204. data/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.scss +3 -3
  205. data/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -3
  206. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -3
  207. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-list.scss +3 -3
  208. data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +65 -65
  209. data/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +78 -78
  210. data/frameworks/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -22
  211. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +33 -33
  212. data/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -9
  213. data/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.scss +3 -3
  214. data/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.scss +3 -3
  215. data/frameworks/compass/stylesheets/compass/utilities/text/_replacement.scss +3 -3
  216. data/frameworks/compass/templates/ellipsis/ellipsis.sass +8 -8
  217. data/frameworks/compass/templates/ellipsis/manifest.rb +26 -26
  218. data/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +13 -13
  219. data/frameworks/compass/templates/extension/manifest.rb +26 -26
  220. data/frameworks/compass/templates/extension/stylesheets/main.sass +1 -1
  221. data/frameworks/compass/templates/extension/templates/project/manifest.rb +2 -2
  222. data/frameworks/compass/templates/extension/templates/project/screen.sass +1 -1
  223. data/frameworks/compass/templates/pie/LICENSE +12 -12
  224. data/frameworks/compass/templates/pie/LICENSE-APACHE2.txt +13 -13
  225. data/frameworks/compass/templates/pie/LICENSE-GPL2.txt +277 -277
  226. data/frameworks/compass/templates/pie/PIE.htc +96 -96
  227. data/frameworks/compass/templates/pie/manifest.rb +39 -39
  228. data/frameworks/compass/templates/pie/pie.scss +73 -73
  229. data/frameworks/compass/templates/project/USAGE.markdown +32 -32
  230. data/frameworks/compass/templates/project/ie.sass +6 -6
  231. data/frameworks/compass/templates/project/manifest.rb +3 -3
  232. data/frameworks/compass/templates/project/print.sass +6 -6
  233. data/frameworks/compass/templates/project/screen.sass +7 -7
  234. data/lib/compass.rb +37 -37
  235. data/lib/compass/actions.rb +115 -115
  236. data/lib/compass/app_integration.rb +39 -39
  237. data/lib/compass/app_integration/rails.rb +18 -18
  238. data/lib/compass/app_integration/stand_alone.rb +22 -22
  239. data/lib/compass/app_integration/stand_alone/configuration_defaults.rb +32 -32
  240. data/lib/compass/app_integration/stand_alone/installer.rb +83 -83
  241. data/lib/compass/browser_support.rb +62 -62
  242. data/lib/compass/commands.rb +12 -12
  243. data/lib/compass/commands/base.rb +44 -44
  244. data/lib/compass/commands/clean_project.rb +79 -79
  245. data/lib/compass/commands/create_project.rb +131 -131
  246. data/lib/compass/commands/default.rb +50 -50
  247. data/lib/compass/commands/extension_command.rb +60 -60
  248. data/lib/compass/commands/generate_grid_background.rb +96 -96
  249. data/lib/compass/commands/help.rb +85 -85
  250. data/lib/compass/commands/imports.rb +35 -35
  251. data/lib/compass/commands/installer_command.rb +32 -32
  252. data/lib/compass/commands/interactive.rb +61 -61
  253. data/lib/compass/commands/list_frameworks.rb +38 -38
  254. data/lib/compass/commands/print_version.rb +99 -99
  255. data/lib/compass/commands/project_base.rb +103 -103
  256. data/lib/compass/commands/project_stats.rb +178 -178
  257. data/lib/compass/commands/project_structure.rb +93 -93
  258. data/lib/compass/commands/registry.rb +40 -40
  259. data/lib/compass/commands/sprite.rb +89 -89
  260. data/lib/compass/commands/stamp_pattern.rb +90 -90
  261. data/lib/compass/commands/unpack_extension.rb +120 -120
  262. data/lib/compass/commands/update_project.rb +139 -139
  263. data/lib/compass/commands/validate_project.rb +77 -77
  264. data/lib/compass/commands/watch_project.rb +170 -170
  265. data/lib/compass/commands/write_configuration.rb +125 -125
  266. data/lib/compass/compiler.rb +200 -200
  267. data/lib/compass/configuration.rb +91 -91
  268. data/lib/compass/configuration/adapters.rb +77 -77
  269. data/lib/compass/configuration/comments.rb +59 -59
  270. data/lib/compass/configuration/data.rb +193 -193
  271. data/lib/compass/configuration/defaults.rb +187 -187
  272. data/lib/compass/configuration/file_data.rb +21 -21
  273. data/lib/compass/configuration/helpers.rb +160 -160
  274. data/lib/compass/configuration/inheritance.rb +304 -304
  275. data/lib/compass/configuration/paths.rb +19 -19
  276. data/lib/compass/configuration/serialization.rb +88 -88
  277. data/lib/compass/dependencies.rb +12 -12
  278. data/lib/compass/errors.rb +11 -11
  279. data/lib/compass/exec.rb +23 -23
  280. data/lib/compass/exec/command_option_parser.rb +23 -23
  281. data/lib/compass/exec/global_options_parser.rb +63 -63
  282. data/lib/compass/exec/helpers.rb +21 -21
  283. data/lib/compass/exec/project_options_parser.rb +66 -66
  284. data/lib/compass/exec/sub_command_ui.rb +51 -51
  285. data/lib/compass/exec/switch_ui.rb +179 -179
  286. data/lib/compass/frameworks.rb +133 -133
  287. data/lib/compass/grid_builder.rb +102 -102
  288. data/lib/compass/installers.rb +3 -3
  289. data/lib/compass/installers/bare_installer.rb +58 -58
  290. data/lib/compass/installers/base.rb +187 -187
  291. data/lib/compass/installers/manifest.rb +161 -161
  292. data/lib/compass/installers/manifest_installer.rb +61 -61
  293. data/lib/compass/installers/template_context.rb +43 -43
  294. data/lib/compass/logger.rb +103 -103
  295. data/lib/compass/quick_cache.rb +15 -15
  296. data/lib/compass/rails.rb +2 -2
  297. data/lib/compass/sass_extensions.rb +10 -10
  298. data/lib/compass/sass_extensions/functions.rb +34 -34
  299. data/lib/compass/sass_extensions/functions/colors.rb +67 -67
  300. data/lib/compass/sass_extensions/functions/constants.rb +74 -74
  301. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +70 -70
  302. data/lib/compass/sass_extensions/functions/display.rb +27 -27
  303. data/lib/compass/sass_extensions/functions/enumerate.rb +6 -6
  304. data/lib/compass/sass_extensions/functions/env.rb +5 -5
  305. data/lib/compass/sass_extensions/functions/font_files.rb +41 -41
  306. data/lib/compass/sass_extensions/functions/gradient_support.rb +540 -540
  307. data/lib/compass/sass_extensions/functions/image_size.rb +113 -113
  308. data/lib/compass/sass_extensions/functions/inline_image.rb +64 -64
  309. data/lib/compass/sass_extensions/functions/lists.rb +101 -101
  310. data/lib/compass/sass_extensions/functions/math.rb +63 -63
  311. data/lib/compass/sass_extensions/functions/selectors.rb +63 -63
  312. data/lib/compass/sass_extensions/functions/sprites.rb +218 -218
  313. data/lib/compass/sass_extensions/functions/urls.rb +266 -266
  314. data/lib/compass/sass_extensions/monkey_patches.rb +3 -3
  315. data/lib/compass/sass_extensions/monkey_patches/browser_support.rb +95 -95
  316. data/lib/compass/sass_extensions/monkey_patches/traversal.rb +23 -23
  317. data/lib/compass/sass_extensions/sprites.rb +19 -19
  318. data/lib/compass/sass_extensions/sprites/engines.rb +25 -25
  319. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +30 -30
  320. data/lib/compass/sass_extensions/sprites/image.rb +151 -151
  321. data/lib/compass/sass_extensions/sprites/image_methods.rb +31 -31
  322. data/lib/compass/sass_extensions/sprites/image_row.rb +46 -46
  323. data/lib/compass/sass_extensions/sprites/layout_methods.rb +158 -158
  324. data/lib/compass/sass_extensions/sprites/row_fitter.rb +91 -91
  325. data/lib/compass/sass_extensions/sprites/sprite_map.rb +86 -86
  326. data/lib/compass/sass_extensions/sprites/sprite_methods.rb +141 -141
  327. data/lib/compass/sprite_importer.rb +116 -116
  328. data/lib/compass/sprite_importer/binding.rb +10 -10
  329. data/lib/compass/sprite_importer/content.erb +80 -80
  330. data/lib/compass/stats.rb +99 -99
  331. data/lib/compass/test_case.rb +38 -38
  332. data/lib/compass/util.rb +29 -29
  333. data/lib/compass/validator.rb +16 -16
  334. data/lib/compass/version.rb +60 -60
  335. data/test/fixtures/extensions/only_stylesheets/compass_init.rb +1 -1
  336. data/test/fixtures/extensions/only_stylesheets/scss/only_stylesheets/foo.scss +3 -3
  337. data/test/fixtures/fonts/bgrove.base64.txt +1 -1
  338. data/test/fixtures/fonts/bgrove.ttf +0 -0
  339. data/test/fixtures/sprites/public/images/ko/starbg26x27.png +0 -0
  340. data/test/fixtures/stylesheets/blueprint/config.rb +14 -14
  341. data/test/fixtures/stylesheets/blueprint/css/ie.css +76 -76
  342. data/test/fixtures/stylesheets/blueprint/css/print.css +56 -56
  343. data/test/fixtures/stylesheets/blueprint/css/screen.css +815 -815
  344. data/test/fixtures/stylesheets/blueprint/css/single-imports/buttons.css +56 -56
  345. data/test/fixtures/stylesheets/blueprint/css/single-imports/colors.css +80 -80
  346. data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +11 -11
  347. data/test/fixtures/stylesheets/blueprint/css/single-imports/fancy-type.css +30 -30
  348. data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +42 -42
  349. data/test/fixtures/stylesheets/blueprint/css/single-imports/grid.css +435 -435
  350. data/test/fixtures/stylesheets/blueprint/css/single-imports/ie.css +76 -76
  351. data/test/fixtures/stylesheets/blueprint/css/single-imports/interaction.css +46 -46
  352. data/test/fixtures/stylesheets/blueprint/css/single-imports/link-icons.css +40 -40
  353. data/test/fixtures/stylesheets/blueprint/css/single-imports/liquid.css +651 -651
  354. data/test/fixtures/stylesheets/blueprint/css/single-imports/print.css +60 -60
  355. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset-utilities.css +75 -75
  356. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset.css +42 -42
  357. data/test/fixtures/stylesheets/blueprint/css/single-imports/rtl.css +437 -437
  358. data/test/fixtures/stylesheets/blueprint/css/single-imports/scaffolding.css +45 -45
  359. data/test/fixtures/stylesheets/blueprint/css/single-imports/typography.css +146 -146
  360. data/test/fixtures/stylesheets/blueprint/css/single-imports/utilities.css +35 -35
  361. data/test/fixtures/stylesheets/blueprint/sass/ie.sass +3 -3
  362. data/test/fixtures/stylesheets/blueprint/sass/print.sass +3 -3
  363. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +18 -18
  364. data/test/fixtures/stylesheets/blueprint/sass/single-imports/buttons.scss +3 -3
  365. data/test/fixtures/stylesheets/blueprint/sass/single-imports/colors.scss +34 -34
  366. data/test/fixtures/stylesheets/blueprint/sass/single-imports/debug.scss +3 -3
  367. data/test/fixtures/stylesheets/blueprint/sass/single-imports/fancy-type.scss +3 -3
  368. data/test/fixtures/stylesheets/blueprint/sass/single-imports/form.scss +4 -4
  369. data/test/fixtures/stylesheets/blueprint/sass/single-imports/grid.scss +2 -2
  370. data/test/fixtures/stylesheets/blueprint/sass/single-imports/ie.scss +2 -2
  371. data/test/fixtures/stylesheets/blueprint/sass/single-imports/interaction.scss +3 -3
  372. data/test/fixtures/stylesheets/blueprint/sass/single-imports/link-icons.scss +12 -12
  373. data/test/fixtures/stylesheets/blueprint/sass/single-imports/liquid.scss +2 -2
  374. data/test/fixtures/stylesheets/blueprint/sass/single-imports/print.scss +4 -4
  375. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset-utilities.scss +4 -4
  376. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset.scss +1 -1
  377. data/test/fixtures/stylesheets/blueprint/sass/single-imports/rtl.scss +2 -2
  378. data/test/fixtures/stylesheets/blueprint/sass/single-imports/scaffolding.scss +5 -5
  379. data/test/fixtures/stylesheets/blueprint/sass/single-imports/typography.scss +3 -3
  380. data/test/fixtures/stylesheets/blueprint/sass/single-imports/utilities.scss +3 -3
  381. data/test/fixtures/stylesheets/busted_image_urls/config.rb +29 -29
  382. data/test/fixtures/stylesheets/busted_image_urls/css/screen.css +9 -9
  383. data/test/fixtures/stylesheets/busted_image_urls/sass/screen.sass +13 -13
  384. data/test/fixtures/stylesheets/compass/config.rb +16 -16
  385. data/test/fixtures/stylesheets/compass/css/background-clip.css +10 -10
  386. data/test/fixtures/stylesheets/compass/css/border_radius.css +14 -14
  387. data/test/fixtures/stylesheets/compass/css/box-sizeing.css +9 -9
  388. data/test/fixtures/stylesheets/compass/css/box.css +103 -103
  389. data/test/fixtures/stylesheets/compass/css/box_shadow.css +14 -14
  390. data/test/fixtures/stylesheets/compass/css/columns.css +161 -161
  391. data/test/fixtures/stylesheets/compass/css/filters.css +29 -29
  392. data/test/fixtures/stylesheets/compass/css/fonts.css +4 -4
  393. data/test/fixtures/stylesheets/compass/css/force-wrap.css +9 -9
  394. data/test/fixtures/stylesheets/compass/css/gradients.css +202 -202
  395. data/test/fixtures/stylesheets/compass/css/grid_background.css +71 -71
  396. data/test/fixtures/stylesheets/compass/css/hyphenation.css +16 -16
  397. data/test/fixtures/stylesheets/compass/css/image_size.css +15 -15
  398. data/test/fixtures/stylesheets/compass/css/images.css +8 -8
  399. data/test/fixtures/stylesheets/compass/css/layout.css +16 -16
  400. data/test/fixtures/stylesheets/compass/css/legacy_clearfix.css +26 -26
  401. data/test/fixtures/stylesheets/compass/css/lists.css +151 -151
  402. data/test/fixtures/stylesheets/compass/css/opacity.css +3 -3
  403. data/test/fixtures/stylesheets/compass/css/pie.css +26 -26
  404. data/test/fixtures/stylesheets/compass/css/print.css +11 -11
  405. data/test/fixtures/stylesheets/compass/css/regions.css +7 -7
  406. data/test/fixtures/stylesheets/compass/css/replacement.css +59 -59
  407. data/test/fixtures/stylesheets/compass/css/reset.css +59 -59
  408. data/test/fixtures/stylesheets/compass/css/sprites.css +1262 -1262
  409. data/test/fixtures/stylesheets/compass/css/stretching.css +66 -66
  410. data/test/fixtures/stylesheets/compass/css/text_shadow.css +29 -29
  411. data/test/fixtures/stylesheets/compass/css/transform.css +441 -441
  412. data/test/fixtures/stylesheets/compass/css/transition.css +128 -128
  413. data/test/fixtures/stylesheets/compass/css/user-interface.css +4 -4
  414. data/test/fixtures/stylesheets/compass/css/utilities.css +56 -56
  415. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +45 -45
  416. data/test/fixtures/stylesheets/compass/sass/background-clip.scss +7 -7
  417. data/test/fixtures/stylesheets/compass/sass/border_radius.scss +5 -5
  418. data/test/fixtures/stylesheets/compass/sass/box-sizeing.scss +7 -7
  419. data/test/fixtures/stylesheets/compass/sass/box.sass +49 -49
  420. data/test/fixtures/stylesheets/compass/sass/box_shadow.scss +5 -5
  421. data/test/fixtures/stylesheets/compass/sass/columns.scss +28 -28
  422. data/test/fixtures/stylesheets/compass/sass/filters.scss +24 -24
  423. data/test/fixtures/stylesheets/compass/sass/fonts.sass +2 -2
  424. data/test/fixtures/stylesheets/compass/sass/force-wrap.scss +3 -3
  425. data/test/fixtures/stylesheets/compass/sass/gradients.sass +96 -96
  426. data/test/fixtures/stylesheets/compass/sass/grid_background.scss +33 -33
  427. data/test/fixtures/stylesheets/compass/sass/hyphenation.scss +10 -10
  428. data/test/fixtures/stylesheets/compass/sass/image_size.sass +15 -15
  429. data/test/fixtures/stylesheets/compass/sass/images.scss +8 -8
  430. data/test/fixtures/stylesheets/compass/sass/layout.sass +3 -3
  431. data/test/fixtures/stylesheets/compass/sass/legacy_clearfix.scss +14 -14
  432. data/test/fixtures/stylesheets/compass/sass/lists.scss +11 -11
  433. data/test/fixtures/stylesheets/compass/sass/opacity.scss +5 -5
  434. data/test/fixtures/stylesheets/compass/sass/pie.scss +47 -47
  435. data/test/fixtures/stylesheets/compass/sass/print.sass +5 -5
  436. data/test/fixtures/stylesheets/compass/sass/regions.scss +3 -3
  437. data/test/fixtures/stylesheets/compass/sass/replacement.scss +22 -22
  438. data/test/fixtures/stylesheets/compass/sass/reset.sass +12 -12
  439. data/test/fixtures/stylesheets/compass/sass/sprites.scss +13 -13
  440. data/test/fixtures/stylesheets/compass/sass/stretching.sass +33 -33
  441. data/test/fixtures/stylesheets/compass/sass/text_shadow.scss +11 -11
  442. data/test/fixtures/stylesheets/compass/sass/transform.scss +87 -87
  443. data/test/fixtures/stylesheets/compass/sass/transition.scss +24 -24
  444. data/test/fixtures/stylesheets/compass/sass/user-interface.scss +4 -4
  445. data/test/fixtures/stylesheets/compass/sass/utilities.scss +20 -20
  446. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm.scss +15 -15
  447. data/test/fixtures/stylesheets/envtest/config.rb +9 -9
  448. data/test/fixtures/stylesheets/envtest/css/env.css +2 -2
  449. data/test/fixtures/stylesheets/envtest/sass/env.scss +3 -3
  450. data/test/fixtures/stylesheets/error/config.rb +10 -10
  451. data/test/fixtures/stylesheets/error/sass/screen.sass +2 -2
  452. data/test/fixtures/stylesheets/image_urls/config.rb +19 -19
  453. data/test/fixtures/stylesheets/image_urls/css/screen.css +5 -5
  454. data/test/fixtures/stylesheets/image_urls/sass/screen.sass +8 -8
  455. data/test/fixtures/stylesheets/relative/config.rb +10 -10
  456. data/test/fixtures/stylesheets/relative/css/ie.css +1 -1
  457. data/test/fixtures/stylesheets/relative/css/print.css +1 -1
  458. data/test/fixtures/stylesheets/relative/css/screen.css +1 -1
  459. data/test/fixtures/stylesheets/relative/sass/ie.sass +5 -5
  460. data/test/fixtures/stylesheets/relative/sass/print.sass +3 -3
  461. data/test/fixtures/stylesheets/relative/sass/screen.sass +2 -2
  462. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/config.rb +25 -25
  463. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/ie.scss +5 -5
  464. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/print.scss +3 -3
  465. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/screen.scss +6 -6
  466. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/ie.css +5 -5
  467. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/print.css +3 -3
  468. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/screen.css +68 -68
  469. data/test/fixtures/stylesheets/valid/config.rb +9 -9
  470. data/test/fixtures/stylesheets/valid/sass/simple.sass +1 -1
  471. data/test/helpers/command_line.rb +114 -114
  472. data/test/helpers/diff.rb +48 -48
  473. data/test/helpers/io.rb +36 -36
  474. data/test/helpers/rails.rb +55 -55
  475. data/test/helpers/test_case.rb +62 -62
  476. data/test/integrations/compass_test.rb +224 -224
  477. data/test/integrations/sprites_test.rb +843 -843
  478. data/test/test_helper.rb +73 -73
  479. data/test/units/actions_test.rb +23 -23
  480. data/test/units/command_line_test.rb +60 -60
  481. data/test/units/compass_module_test.rb +36 -36
  482. data/test/units/compass_png_test.rb +45 -45
  483. data/test/units/compiler_test.rb +10 -10
  484. data/test/units/configuration_test.rb +440 -440
  485. data/test/units/regressions_test.rb +35 -35
  486. data/test/units/sass_extensions_test.rb +198 -198
  487. data/test/units/sprites/engine_test.rb +47 -47
  488. data/test/units/sprites/image_row_test.rb +57 -57
  489. data/test/units/sprites/image_test.rb +99 -99
  490. data/test/units/sprites/importer_test.rb +90 -90
  491. data/test/units/sprites/layout_test.rb +154 -154
  492. data/test/units/sprites/row_fitter_test.rb +65 -65
  493. data/test/units/sprites/sprite_command_test.rb +54 -54
  494. data/test/units/sprites/sprite_map_test.rb +130 -130
  495. metadata +1304 -1310
@@ -1,193 +1,193 @@
1
- module Compass
2
- module Configuration
3
- # The Compass configuration data storage class manages configuration data that comes from a variety of
4
- # different sources and aggregates them together into a consistent API
5
- # Some of the possible sources of configuration data:
6
- # * Compass default project structure for stand alone projects
7
- # * App framework specific project structures for rails, etc.
8
- # * User supplied explicit configuration
9
- # * Configuration data provided via the command line interface
10
- #
11
- # There are two kinds of configuration data that doesn't come from the user:
12
- #
13
- # 1. Configuration data that is defaulted as if the user had provided it themselves.
14
- # This is useful for providing defaults that the user is likely to want to edit
15
- # but shouldn't have to provide explicitly when getting started
16
- # 2. Configuration data that is defaulted behind the scenes because _some_ value is
17
- # required.
18
- class Data
19
-
20
- attr_reader :name
21
- extend Sass::Callbacks
22
-
23
-
24
- include Compass::Configuration::Inheritance
25
- include Compass::Configuration::Serialization
26
- include Compass::Configuration::Adapters
27
- extend Compass::Configuration::Paths
28
-
29
- # on_sprite_saved
30
- # yields the filename
31
- # usage: on_sprite_saved {|filename| do_something(filename) }
32
- define_callback :sprite_saved
33
- chained_method :run_sprite_saved
34
-
35
- # on_sprite_generated
36
- # yields 'ChunkyPNG::Image'
37
- # usage: on_sprite_generated {|sprite_data| do_something(sprite_data) }
38
- define_callback :sprite_generated
39
- chained_method :run_sprite_generated
40
-
41
- # on_sprite_removed
42
- # yields the filename
43
- # usage: on_sprite_removed {|filename| do_something(filename) }
44
- define_callback :sprite_removed
45
- chained_method :run_sprite_removed
46
-
47
- # on_stylesheet_saved
48
- # yields the filename
49
- # usage: on_stylesheet_saved {|filename| do_something(filename) }
50
- define_callback :stylesheet_saved
51
- chained_method :run_stylesheet_saved
52
-
53
- # on_stylesheet_error
54
- # yields the filename & message
55
- # usage: on_stylesheet_error {|filename, message| do_something(filename, message) }
56
- define_callback :stylesheet_error
57
- chained_method :run_stylesheet_error
58
-
59
- inherited_accessor *ATTRIBUTES
60
-
61
- strip_trailing_separator *ATTRIBUTES.select{|a| a.to_s =~ /dir|path/}
62
-
63
- inherited_array *ARRAY_ATTRIBUTES
64
-
65
- def initialize(name, attr_hash = nil)
66
- raise "I need a name!" unless name
67
- @name = name
68
- set_all(attr_hash) if attr_hash
69
- self.top_level = self
70
- end
71
-
72
- def set_all(attr_hash)
73
- # assert_valid_keys!(attr_hash)
74
- attr_hash.each do |a, v|
75
- if self.respond_to?("#{a}=")
76
- self.send("#{a}=", v)
77
- end
78
- end
79
- end
80
-
81
- def add_import_path(*paths)
82
- paths.map!{|p| defined?(Pathname) && Pathname === p ? p.to_s : p}
83
- # The @added_import_paths variable works around an issue where
84
- # the additional_import_paths gets overwritten during parse
85
- @added_import_paths ||= []
86
- @added_import_paths += paths
87
- self.additional_import_paths ||= []
88
- self.additional_import_paths += paths
89
- end
90
-
91
- # When called with a block, defines the asset host url to be used.
92
- # The block must return a string that starts with a protocol (E.g. http).
93
- # The block will be passed the root-relative url of the asset.
94
- # When called without a block, returns the block that was previously set.
95
- def asset_host(&block)
96
- @set_attributes ||= {}
97
- if block_given?
98
- @set_attributes[:asset_host] = true
99
- @asset_host = block
100
- else
101
- if @asset_host
102
- @asset_host
103
- elsif inherited_data.respond_to?(:asset_host)
104
- inherited_data.asset_host
105
- end
106
- end
107
- end
108
-
109
- # When called with a block, defines the cache buster strategy to be used.
110
- # If the block returns nil or a string, then it is appended to the url as a query parameter.
111
- # In this case, the returned string must not include the starting '?'.
112
- # The block may also return a hash with :path and/or :query values and it
113
- # will replace the original path and query string with the busted values returned.
114
- # The block will be passed the root-relative url of the asset.
115
- # If the block accepts two arguments, it will also be passed a File object
116
- # that points to the asset on disk -- which may or may not exist.
117
- # When called without a block, returns the block that was previously set.
118
- #
119
- # To disable the asset cache buster:
120
- #
121
- # asset_cache_buster :none
122
- def asset_cache_buster(simple = nil, &block)
123
- @set_attributes ||= {}
124
- if block_given?
125
- @set_attributes[:asset_cache_buster] = true
126
- @asset_cache_buster = block
127
- elsif !simple.nil?
128
- if simple == :none
129
- @set_attributes[:asset_cache_buster] = true
130
- @asset_cache_buster = Proc.new {|_,_| nil}
131
- else
132
- raise ArgumentError, "Unexpected argument: #{simple.inspect}"
133
- end
134
- else
135
- if set?(:asset_cache_buster)
136
- @asset_cache_buster
137
- elsif inherited_data.respond_to?(:asset_cache_buster)
138
- inherited_data.asset_cache_buster
139
- end
140
- end
141
- end
142
-
143
- def watch(glob, &block)
144
- @watches ||= []
145
- @watches << [glob, block]
146
- end
147
-
148
- def watches
149
- if defined?(@watches)
150
- @watches
151
- elsif inherited_data.respond_to?(:watches)
152
- inherited_data.watches
153
- else
154
- []
155
- end
156
- end
157
-
158
- # Require a compass plugin and capture that it occured so that the configuration serialization works next time.
159
- def require(lib)
160
- (self.required_libraries ||= []) << lib
161
- super
162
- end
163
-
164
- def load(framework_dir)
165
- (self.loaded_frameworks ||= []) << framework_dir
166
- Compass::Frameworks.register_directory framework_dir
167
- end
168
-
169
- # Finds all extensions within a directory and registers them.
170
- def discover(frameworks_dir)
171
- (self.framework_path ||= []) << frameworks_dir
172
- Compass::Frameworks.discover frameworks_dir
173
- end
174
-
175
- def relative_assets?
176
- # the http_images_path is deprecated, but here for backwards compatibility.
177
- relative_assets || http_images_path == :relative
178
- end
179
-
180
- private
181
-
182
- def assert_valid_keys!(attr_hash)
183
- illegal_attrs = attr_hash.keys - ATTRIBUTES - ARRAY_ATTRIBUTES
184
- if illegal_attrs.size == 1
185
- raise Error, "#{illegal_attrs.first.inspect} is not a valid configuration attribute."
186
- elsif illegal_attrs.size > 0
187
- raise Error, "Illegal configuration attributes: #{illegal_attrs.map{|a| a.inspect}.join(", ")}"
188
- end
189
- end
190
-
191
- end
192
- end
193
- end
1
+ module Compass
2
+ module Configuration
3
+ # The Compass configuration data storage class manages configuration data that comes from a variety of
4
+ # different sources and aggregates them together into a consistent API
5
+ # Some of the possible sources of configuration data:
6
+ # * Compass default project structure for stand alone projects
7
+ # * App framework specific project structures for rails, etc.
8
+ # * User supplied explicit configuration
9
+ # * Configuration data provided via the command line interface
10
+ #
11
+ # There are two kinds of configuration data that doesn't come from the user:
12
+ #
13
+ # 1. Configuration data that is defaulted as if the user had provided it themselves.
14
+ # This is useful for providing defaults that the user is likely to want to edit
15
+ # but shouldn't have to provide explicitly when getting started
16
+ # 2. Configuration data that is defaulted behind the scenes because _some_ value is
17
+ # required.
18
+ class Data
19
+
20
+ attr_reader :name
21
+ extend Sass::Callbacks
22
+
23
+
24
+ include Compass::Configuration::Inheritance
25
+ include Compass::Configuration::Serialization
26
+ include Compass::Configuration::Adapters
27
+ extend Compass::Configuration::Paths
28
+
29
+ # on_sprite_saved
30
+ # yields the filename
31
+ # usage: on_sprite_saved {|filename| do_something(filename) }
32
+ define_callback :sprite_saved
33
+ chained_method :run_sprite_saved
34
+
35
+ # on_sprite_generated
36
+ # yields 'ChunkyPNG::Image'
37
+ # usage: on_sprite_generated {|sprite_data| do_something(sprite_data) }
38
+ define_callback :sprite_generated
39
+ chained_method :run_sprite_generated
40
+
41
+ # on_sprite_removed
42
+ # yields the filename
43
+ # usage: on_sprite_removed {|filename| do_something(filename) }
44
+ define_callback :sprite_removed
45
+ chained_method :run_sprite_removed
46
+
47
+ # on_stylesheet_saved
48
+ # yields the filename
49
+ # usage: on_stylesheet_saved {|filename| do_something(filename) }
50
+ define_callback :stylesheet_saved
51
+ chained_method :run_stylesheet_saved
52
+
53
+ # on_stylesheet_error
54
+ # yields the filename & message
55
+ # usage: on_stylesheet_error {|filename, message| do_something(filename, message) }
56
+ define_callback :stylesheet_error
57
+ chained_method :run_stylesheet_error
58
+
59
+ inherited_accessor *ATTRIBUTES
60
+
61
+ strip_trailing_separator *ATTRIBUTES.select{|a| a.to_s =~ /dir|path/}
62
+
63
+ inherited_array *ARRAY_ATTRIBUTES
64
+
65
+ def initialize(name, attr_hash = nil)
66
+ raise "I need a name!" unless name
67
+ @name = name
68
+ set_all(attr_hash) if attr_hash
69
+ self.top_level = self
70
+ end
71
+
72
+ def set_all(attr_hash)
73
+ # assert_valid_keys!(attr_hash)
74
+ attr_hash.each do |a, v|
75
+ if self.respond_to?("#{a}=")
76
+ self.send("#{a}=", v)
77
+ end
78
+ end
79
+ end
80
+
81
+ def add_import_path(*paths)
82
+ paths.map!{|p| defined?(Pathname) && Pathname === p ? p.to_s : p}
83
+ # The @added_import_paths variable works around an issue where
84
+ # the additional_import_paths gets overwritten during parse
85
+ @added_import_paths ||= []
86
+ @added_import_paths += paths
87
+ self.additional_import_paths ||= []
88
+ self.additional_import_paths += paths
89
+ end
90
+
91
+ # When called with a block, defines the asset host url to be used.
92
+ # The block must return a string that starts with a protocol (E.g. http).
93
+ # The block will be passed the root-relative url of the asset.
94
+ # When called without a block, returns the block that was previously set.
95
+ def asset_host(&block)
96
+ @set_attributes ||= {}
97
+ if block_given?
98
+ @set_attributes[:asset_host] = true
99
+ @asset_host = block
100
+ else
101
+ if @asset_host
102
+ @asset_host
103
+ elsif inherited_data.respond_to?(:asset_host)
104
+ inherited_data.asset_host
105
+ end
106
+ end
107
+ end
108
+
109
+ # When called with a block, defines the cache buster strategy to be used.
110
+ # If the block returns nil or a string, then it is appended to the url as a query parameter.
111
+ # In this case, the returned string must not include the starting '?'.
112
+ # The block may also return a hash with :path and/or :query values and it
113
+ # will replace the original path and query string with the busted values returned.
114
+ # The block will be passed the root-relative url of the asset.
115
+ # If the block accepts two arguments, it will also be passed a File object
116
+ # that points to the asset on disk -- which may or may not exist.
117
+ # When called without a block, returns the block that was previously set.
118
+ #
119
+ # To disable the asset cache buster:
120
+ #
121
+ # asset_cache_buster :none
122
+ def asset_cache_buster(simple = nil, &block)
123
+ @set_attributes ||= {}
124
+ if block_given?
125
+ @set_attributes[:asset_cache_buster] = true
126
+ @asset_cache_buster = block
127
+ elsif !simple.nil?
128
+ if simple == :none
129
+ @set_attributes[:asset_cache_buster] = true
130
+ @asset_cache_buster = Proc.new {|_,_| nil}
131
+ else
132
+ raise ArgumentError, "Unexpected argument: #{simple.inspect}"
133
+ end
134
+ else
135
+ if set?(:asset_cache_buster)
136
+ @asset_cache_buster
137
+ elsif inherited_data.respond_to?(:asset_cache_buster)
138
+ inherited_data.asset_cache_buster
139
+ end
140
+ end
141
+ end
142
+
143
+ def watch(glob, &block)
144
+ @watches ||= []
145
+ @watches << [glob, block]
146
+ end
147
+
148
+ def watches
149
+ if defined?(@watches)
150
+ @watches
151
+ elsif inherited_data.respond_to?(:watches)
152
+ inherited_data.watches
153
+ else
154
+ []
155
+ end
156
+ end
157
+
158
+ # Require a compass plugin and capture that it occured so that the configuration serialization works next time.
159
+ def require(lib)
160
+ (self.required_libraries ||= []) << lib
161
+ super
162
+ end
163
+
164
+ def load(framework_dir)
165
+ (self.loaded_frameworks ||= []) << framework_dir
166
+ Compass::Frameworks.register_directory framework_dir
167
+ end
168
+
169
+ # Finds all extensions within a directory and registers them.
170
+ def discover(frameworks_dir)
171
+ (self.framework_path ||= []) << frameworks_dir
172
+ Compass::Frameworks.discover frameworks_dir
173
+ end
174
+
175
+ def relative_assets?
176
+ # the http_images_path is deprecated, but here for backwards compatibility.
177
+ relative_assets || http_images_path == :relative
178
+ end
179
+
180
+ private
181
+
182
+ def assert_valid_keys!(attr_hash)
183
+ illegal_attrs = attr_hash.keys - ATTRIBUTES - ARRAY_ATTRIBUTES
184
+ if illegal_attrs.size == 1
185
+ raise Error, "#{illegal_attrs.first.inspect} is not a valid configuration attribute."
186
+ elsif illegal_attrs.size > 0
187
+ raise Error, "Illegal configuration attributes: #{illegal_attrs.map{|a| a.inspect}.join(", ")}"
188
+ end
189
+ end
190
+
191
+ end
192
+ end
193
+ end
@@ -1,187 +1,187 @@
1
- module Compass
2
- module Configuration
3
- module Defaults
4
-
5
- def default_project_path
6
- "."
7
- end
8
-
9
- def default_project_type
10
- :stand_alone
11
- end
12
-
13
- def default_http_path
14
- "/"
15
- end
16
-
17
- def default_extensions_dir
18
- "extensions"
19
- end
20
-
21
- def default_fonts_dir
22
- File.join(top_level.css_dir, "fonts")
23
- end
24
-
25
- def default_environment
26
- :development
27
- end
28
-
29
- def default_output_style
30
- if top_level.environment == :development
31
- :expanded
32
- else
33
- :compressed
34
- end
35
- end
36
-
37
- def default_line_comments
38
- top_level.environment == :development
39
- end
40
-
41
- def default_color_output
42
- true
43
- end
44
-
45
- def default_sass_path
46
- if (pp = top_level.project_path) && (dir = top_level.sass_dir)
47
- Compass.projectize(dir, pp)
48
- end
49
- end
50
-
51
- def default_css_path
52
- if (pp = top_level.project_path) && (dir = top_level.css_dir)
53
- Compass.projectize(dir, pp)
54
- end
55
- end
56
-
57
- def default_images_path
58
- if (pp = top_level.project_path) && (dir = top_level.images_dir)
59
- Compass.projectize(dir, pp)
60
- end
61
- end
62
-
63
- def default_generated_images_path
64
- if (pp = top_level.project_path) && (dir = top_level.generated_images_dir)
65
- Compass.projectize(dir, pp)
66
- else
67
- top_level.images_path
68
- end
69
- end
70
-
71
- def default_javascripts_path
72
- if (pp = top_level.project_path) && (dir = top_level.javascripts_dir)
73
- Compass.projectize(dir, pp)
74
- end
75
- end
76
-
77
- def default_extensions_path
78
- if (pp = top_level.project_path) && (dir = top_level.extensions_dir)
79
- Compass.projectize(dir, pp)
80
- end
81
- end
82
-
83
- def default_fonts_path
84
- if (pp = top_level.project_path) && (dir = top_level.fonts_dir)
85
- Compass.projectize(dir, pp)
86
- end
87
- end
88
-
89
- def default_cache_path
90
- if (pp = top_level.project_path) && (dir = top_level.cache_dir)
91
- Compass.projectize(dir, pp)
92
- end
93
- end
94
-
95
- def default_generated_images_dir
96
- top_level.images_dir
97
- end
98
-
99
- def default_http_generated_images_dir
100
- top_level.http_images_dir
101
- end
102
-
103
- def default_http_images_dir
104
- top_level.images_dir
105
- end
106
-
107
- def default_sprite_load_path
108
- [top_level.images_path]
109
- end
110
-
111
- def default_http_images_path
112
- http_root_relative top_level.http_images_dir
113
- end
114
-
115
- def default_http_stylesheets_dir
116
- top_level.css_dir
117
- end
118
-
119
- def default_http_stylesheets_path
120
- http_root_relative top_level.http_stylesheets_dir
121
- end
122
-
123
- def default_http_generated_images_path
124
- http_root_relative top_level.http_generated_images_dir
125
- end
126
-
127
- def default_http_fonts_dir
128
- if fd = top_level.fonts_dir_without_default
129
- fd
130
- else
131
- "#{top_level.http_stylesheets_dir}/fonts"
132
- end
133
- end
134
-
135
- def default_http_fonts_path
136
- http_root_relative top_level.http_fonts_dir
137
- end
138
-
139
- def default_http_javascripts_dir
140
- top_level.javascripts_dir
141
- end
142
-
143
- def default_http_javascripts_path
144
- http_root_relative top_level.http_javascripts_dir
145
- end
146
-
147
- def default_cache
148
- true
149
- end
150
-
151
- def default_preferred_syntax
152
- :scss
153
- end
154
-
155
- def default_sprite_engine
156
- :chunky_png
157
- end
158
-
159
- def default_chunky_png_options
160
- {:compression => Zlib::BEST_COMPRESSION}
161
- end
162
-
163
- # helper functions
164
-
165
- def http_join(*segments)
166
- segments.map do |segment|
167
- next unless segment
168
- segment = http_pathify(segment)
169
- segment[-1..-1] == "/" ? segment[0..-2] : segment
170
- end.join("/")
171
- end
172
-
173
- def http_pathify(path)
174
- if File::SEPARATOR == "/"
175
- path
176
- else
177
- path.gsub(File::SEPARATOR, "/")
178
- end
179
- end
180
-
181
- def http_root_relative(path)
182
- http_join top_level.http_path, path
183
- end
184
-
185
- end
186
- end
187
- end
1
+ module Compass
2
+ module Configuration
3
+ module Defaults
4
+
5
+ def default_project_path
6
+ "."
7
+ end
8
+
9
+ def default_project_type
10
+ :stand_alone
11
+ end
12
+
13
+ def default_http_path
14
+ "/"
15
+ end
16
+
17
+ def default_extensions_dir
18
+ "extensions"
19
+ end
20
+
21
+ def default_fonts_dir
22
+ File.join(top_level.css_dir, "fonts")
23
+ end
24
+
25
+ def default_environment
26
+ :development
27
+ end
28
+
29
+ def default_output_style
30
+ if top_level.environment == :development
31
+ :expanded
32
+ else
33
+ :compressed
34
+ end
35
+ end
36
+
37
+ def default_line_comments
38
+ top_level.environment == :development
39
+ end
40
+
41
+ def default_color_output
42
+ true
43
+ end
44
+
45
+ def default_sass_path
46
+ if (pp = top_level.project_path) && (dir = top_level.sass_dir)
47
+ Compass.projectize(dir, pp)
48
+ end
49
+ end
50
+
51
+ def default_css_path
52
+ if (pp = top_level.project_path) && (dir = top_level.css_dir)
53
+ Compass.projectize(dir, pp)
54
+ end
55
+ end
56
+
57
+ def default_images_path
58
+ if (pp = top_level.project_path) && (dir = top_level.images_dir)
59
+ Compass.projectize(dir, pp)
60
+ end
61
+ end
62
+
63
+ def default_generated_images_path
64
+ if (pp = top_level.project_path) && (dir = top_level.generated_images_dir)
65
+ Compass.projectize(dir, pp)
66
+ else
67
+ top_level.images_path
68
+ end
69
+ end
70
+
71
+ def default_javascripts_path
72
+ if (pp = top_level.project_path) && (dir = top_level.javascripts_dir)
73
+ Compass.projectize(dir, pp)
74
+ end
75
+ end
76
+
77
+ def default_extensions_path
78
+ if (pp = top_level.project_path) && (dir = top_level.extensions_dir)
79
+ Compass.projectize(dir, pp)
80
+ end
81
+ end
82
+
83
+ def default_fonts_path
84
+ if (pp = top_level.project_path) && (dir = top_level.fonts_dir)
85
+ Compass.projectize(dir, pp)
86
+ end
87
+ end
88
+
89
+ def default_cache_path
90
+ if (pp = top_level.project_path) && (dir = top_level.cache_dir)
91
+ Compass.projectize(dir, pp)
92
+ end
93
+ end
94
+
95
+ def default_generated_images_dir
96
+ top_level.images_dir
97
+ end
98
+
99
+ def default_http_generated_images_dir
100
+ top_level.http_images_dir
101
+ end
102
+
103
+ def default_http_images_dir
104
+ top_level.images_dir
105
+ end
106
+
107
+ def default_sprite_load_path
108
+ [top_level.images_path]
109
+ end
110
+
111
+ def default_http_images_path
112
+ http_root_relative top_level.http_images_dir
113
+ end
114
+
115
+ def default_http_stylesheets_dir
116
+ top_level.css_dir
117
+ end
118
+
119
+ def default_http_stylesheets_path
120
+ http_root_relative top_level.http_stylesheets_dir
121
+ end
122
+
123
+ def default_http_generated_images_path
124
+ http_root_relative top_level.http_generated_images_dir
125
+ end
126
+
127
+ def default_http_fonts_dir
128
+ if fd = top_level.fonts_dir_without_default
129
+ fd
130
+ else
131
+ "#{top_level.http_stylesheets_dir}/fonts"
132
+ end
133
+ end
134
+
135
+ def default_http_fonts_path
136
+ http_root_relative top_level.http_fonts_dir
137
+ end
138
+
139
+ def default_http_javascripts_dir
140
+ top_level.javascripts_dir
141
+ end
142
+
143
+ def default_http_javascripts_path
144
+ http_root_relative top_level.http_javascripts_dir
145
+ end
146
+
147
+ def default_cache
148
+ true
149
+ end
150
+
151
+ def default_preferred_syntax
152
+ :scss
153
+ end
154
+
155
+ def default_sprite_engine
156
+ :chunky_png
157
+ end
158
+
159
+ def default_chunky_png_options
160
+ {:compression => Zlib::BEST_COMPRESSION}
161
+ end
162
+
163
+ # helper functions
164
+
165
+ def http_join(*segments)
166
+ segments.map do |segment|
167
+ next unless segment
168
+ segment = http_pathify(segment)
169
+ segment[-1..-1] == "/" ? segment[0..-2] : segment
170
+ end.join("/")
171
+ end
172
+
173
+ def http_pathify(path)
174
+ if File::SEPARATOR == "/"
175
+ path
176
+ else
177
+ path.gsub(File::SEPARATOR, "/")
178
+ end
179
+ end
180
+
181
+ def http_root_relative(path)
182
+ http_join top_level.http_path, path
183
+ end
184
+
185
+ end
186
+ end
187
+ end