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,21 +1,21 @@
1
- module Compass::Exec
2
- module Helpers
3
- extend self
4
- def report_error(e, options)
5
- $stderr.puts "#{e.class} on line #{get_line e} of #{get_file e}: #{e.message}"
6
- if options[:trace]
7
- e.backtrace[1..-1].each { |t| $stderr.puts " #{t}" }
8
- else
9
- $stderr.puts "Run with --trace to see the full backtrace"
10
- end
11
- end
12
-
13
- def get_file(exception)
14
- exception.backtrace[0].split(/:/, 2)[0]
15
- end
16
-
17
- def get_line(exception)
18
- exception.backtrace[0].scan(/:(\d+)/)[0]
19
- end
20
- end
21
- end
1
+ module Compass::Exec
2
+ module Helpers
3
+ extend self
4
+ def report_error(e, options)
5
+ $stderr.puts "#{e.class} on line #{get_line e} of #{get_file e}: #{e.message}"
6
+ if options[:trace]
7
+ e.backtrace[1..-1].each { |t| $stderr.puts " #{t}" }
8
+ else
9
+ $stderr.puts "Run with --trace to see the full backtrace"
10
+ end
11
+ end
12
+
13
+ def get_file(exception)
14
+ exception.backtrace[0].split(/:/, 2)[0]
15
+ end
16
+
17
+ def get_line(exception)
18
+ exception.backtrace[0].scan(/:(\d+)/)[0]
19
+ end
20
+ end
21
+ end
@@ -1,66 +1,66 @@
1
- module Compass::Exec::ProjectOptionsParser
2
- def set_options(opts)
3
- super
4
- set_project_options(opts)
5
- end
6
- def set_dir_or_path(type, dir)
7
- if Pathname.new(dir).absolute?
8
- self.options[:"#{type}_path"] = dir.tr('\\','/')
9
- else
10
- self.options[:"#{type}_dir"] = dir.tr('\\','/')
11
- end
12
- end
13
-
14
- def set_project_options(opts)
15
- opts.on('-c', '--config CONFIG_FILE', 'Specify the location of the configuration file explicitly.') do |configuration_file|
16
- self.options[:configuration_file] = configuration_file
17
- end
18
-
19
- opts.on('--app APP', 'Tell compass what kind of application it is integrating with. E.g. rails') do |project_type|
20
- self.options[:project_type] = project_type.to_sym
21
- end
22
-
23
- opts.on('--app-dir PATH', 'The base directory for your application.') do |project_path|
24
- self.options[:project_path] = project_path
25
- end
26
-
27
- opts.on('--sass-dir SRC_DIR', "The source directory where you keep your sass stylesheets.") do |sass_dir|
28
- set_dir_or_path(:sass, sass_dir)
29
- end
30
-
31
- opts.on('--css-dir CSS_DIR', "The target directory where you keep your css stylesheets.") do |css_dir|
32
- set_dir_or_path(:css, css_dir)
33
- end
34
-
35
- opts.on('--images-dir IMAGES_DIR', "The directory where you keep your images.") do |images_dir|
36
- set_dir_or_path(:images, images_dir)
37
- end
38
-
39
- opts.on('--javascripts-dir JS_DIR', "The directory where you keep your javascripts.") do |javascripts_dir|
40
- set_dir_or_path(:javascripts, javascripts_dir)
41
- end
42
-
43
- opts.on('--fonts-dir FONTS_DIR', "The directory where you keep your fonts.") do |fonts_dir|
44
- set_dir_or_path(:fonts, fonts_dir)
45
- end
46
-
47
- opts.on('-e ENV', '--environment ENV', [:development, :production], 'Use sensible defaults for your current environment.',
48
- ' One of: development (default), production') do |env|
49
- self.options[:environment] = env
50
- end
51
-
52
- opts.on('-s STYLE', '--output-style STYLE', [:nested, :expanded, :compact, :compressed], 'Select a CSS output mode.',
53
- ' One of: nested, expanded, compact, compressed') do |style|
54
- self.options[:output_style] = style
55
- end
56
-
57
- opts.on('--relative-assets', :NONE, 'Make compass asset helpers generate relative urls to assets.') do
58
- self.options[:relative_assets] = true
59
- end
60
-
61
- opts.on('--no-line-comments', :NONE, 'Disable line comments.') do
62
- self.options[:line_comments] = false
63
- end
64
- end
65
-
66
- end
1
+ module Compass::Exec::ProjectOptionsParser
2
+ def set_options(opts)
3
+ super
4
+ set_project_options(opts)
5
+ end
6
+ def set_dir_or_path(type, dir)
7
+ if Pathname.new(dir).absolute?
8
+ self.options[:"#{type}_path"] = dir.tr('\\','/')
9
+ else
10
+ self.options[:"#{type}_dir"] = dir.tr('\\','/')
11
+ end
12
+ end
13
+
14
+ def set_project_options(opts)
15
+ opts.on('-c', '--config CONFIG_FILE', 'Specify the location of the configuration file explicitly.') do |configuration_file|
16
+ self.options[:configuration_file] = configuration_file
17
+ end
18
+
19
+ opts.on('--app APP', 'Tell compass what kind of application it is integrating with. E.g. rails') do |project_type|
20
+ self.options[:project_type] = project_type.to_sym
21
+ end
22
+
23
+ opts.on('--app-dir PATH', 'The base directory for your application.') do |project_path|
24
+ self.options[:project_path] = project_path
25
+ end
26
+
27
+ opts.on('--sass-dir SRC_DIR', "The source directory where you keep your sass stylesheets.") do |sass_dir|
28
+ set_dir_or_path(:sass, sass_dir)
29
+ end
30
+
31
+ opts.on('--css-dir CSS_DIR', "The target directory where you keep your css stylesheets.") do |css_dir|
32
+ set_dir_or_path(:css, css_dir)
33
+ end
34
+
35
+ opts.on('--images-dir IMAGES_DIR', "The directory where you keep your images.") do |images_dir|
36
+ set_dir_or_path(:images, images_dir)
37
+ end
38
+
39
+ opts.on('--javascripts-dir JS_DIR', "The directory where you keep your javascripts.") do |javascripts_dir|
40
+ set_dir_or_path(:javascripts, javascripts_dir)
41
+ end
42
+
43
+ opts.on('--fonts-dir FONTS_DIR', "The directory where you keep your fonts.") do |fonts_dir|
44
+ set_dir_or_path(:fonts, fonts_dir)
45
+ end
46
+
47
+ opts.on('-e ENV', '--environment ENV', [:development, :production], 'Use sensible defaults for your current environment.',
48
+ ' One of: development (default), production') do |env|
49
+ self.options[:environment] = env
50
+ end
51
+
52
+ opts.on('-s STYLE', '--output-style STYLE', [:nested, :expanded, :compact, :compressed], 'Select a CSS output mode.',
53
+ ' One of: nested, expanded, compact, compressed') do |style|
54
+ self.options[:output_style] = style
55
+ end
56
+
57
+ opts.on('--relative-assets', :NONE, 'Make compass asset helpers generate relative urls to assets.') do
58
+ self.options[:relative_assets] = true
59
+ end
60
+
61
+ opts.on('--no-line-comments', :NONE, 'Disable line comments.') do
62
+ self.options[:line_comments] = false
63
+ end
64
+ end
65
+
66
+ end
@@ -1,51 +1,51 @@
1
- require 'compass/exec/global_options_parser'
2
- require 'compass/exec/project_options_parser'
3
-
4
- module Compass::Exec
5
- class SubCommandUI
6
-
7
- attr_accessor :args
8
-
9
- def initialize(args)
10
- self.args = args
11
- end
12
-
13
- def run!
14
- begin
15
- return perform!
16
- rescue Exception => e
17
- raise e if e.is_a? SystemExit
18
- if e.is_a?(::Compass::Error) || e.is_a?(OptionParser::ParseError)
19
- $stderr.puts e.message
20
- else
21
- ::Compass::Exec::Helpers.report_error(e, @options || {})
22
- end
23
- return 1
24
- end
25
- end
26
-
27
- protected
28
-
29
- def perform!
30
- $command = args.shift
31
- command_class = Compass::Commands[$command]
32
- unless command_class
33
- args.unshift($command)
34
- $command = "help"
35
- command_class = Compass::Commands::Default
36
- end
37
- @options = if command_class.respond_to?("parse_#{$command}!")
38
- command_class.send("parse_#{$command}!", args)
39
- else
40
- command_class.parse!(args)
41
- end
42
- cmd = command_class.new(Dir.getwd, @options)
43
- cmd.execute
44
- cmd.successful? ? 0 : 1
45
- rescue OptionParser::ParseError => e
46
- puts "Error: #{e.message}"
47
- puts command_class.usage if command_class.respond_to?(:usage)
48
- end
49
-
50
- end
51
- end
1
+ require 'compass/exec/global_options_parser'
2
+ require 'compass/exec/project_options_parser'
3
+
4
+ module Compass::Exec
5
+ class SubCommandUI
6
+
7
+ attr_accessor :args
8
+
9
+ def initialize(args)
10
+ self.args = args
11
+ end
12
+
13
+ def run!
14
+ begin
15
+ return perform!
16
+ rescue Exception => e
17
+ raise e if e.is_a? SystemExit
18
+ if e.is_a?(::Compass::Error) || e.is_a?(OptionParser::ParseError)
19
+ $stderr.puts e.message
20
+ else
21
+ ::Compass::Exec::Helpers.report_error(e, @options || {})
22
+ end
23
+ return 1
24
+ end
25
+ end
26
+
27
+ protected
28
+
29
+ def perform!
30
+ $command = args.shift
31
+ command_class = Compass::Commands[$command]
32
+ unless command_class
33
+ args.unshift($command)
34
+ $command = "help"
35
+ command_class = Compass::Commands::Default
36
+ end
37
+ @options = if command_class.respond_to?("parse_#{$command}!")
38
+ command_class.send("parse_#{$command}!", args)
39
+ else
40
+ command_class.parse!(args)
41
+ end
42
+ cmd = command_class.new(Dir.getwd, @options)
43
+ cmd.execute
44
+ cmd.successful? ? 0 : 1
45
+ rescue OptionParser::ParseError => e
46
+ puts "Error: #{e.message}"
47
+ puts command_class.usage if command_class.respond_to?(:usage)
48
+ end
49
+
50
+ end
51
+ end
@@ -1,179 +1,179 @@
1
- require 'compass/exec/global_options_parser'
2
- require 'compass/exec/project_options_parser'
3
-
4
- module Compass::Exec
5
- class SwitchUI
6
- include GlobalOptionsParser
7
- include ProjectOptionsParser
8
- attr_accessor :args, :options, :opts
9
-
10
- def initialize(args)
11
- self.args = args
12
- self.options = {}
13
- parse!
14
- end
15
-
16
- def run!
17
- begin
18
- perform!
19
- rescue Exception => e
20
- raise e if e.is_a? SystemExit
21
- if e.is_a?(::Compass::Error) || e.is_a?(OptionParser::ParseError)
22
- $stderr.puts e.message
23
- else
24
- ::Compass::Exec::Helpers.report_error(e, @options)
25
- end
26
- return 1
27
- end
28
- return 0
29
- end
30
-
31
- protected
32
-
33
- def perform!
34
- if options[:command]
35
- do_command(options[:command])
36
- else
37
- puts self.opts
38
- end
39
- end
40
-
41
- def parse!
42
- self.opts = OptionParser.new(&method(:set_opts))
43
- self.opts.parse!(self.args)
44
- if self.args.size > 0
45
- self.options[:project_name] = trim_trailing_separator(self.args.shift)
46
- end
47
- self.options[:command] ||= self.options[:project_name] ? :create_project : :update_project
48
- self.options[:framework] ||= :compass
49
- end
50
-
51
- def trim_trailing_separator(path)
52
- path[-1..-1] == File::SEPARATOR ? path[0..-2] : path
53
- end
54
-
55
- def set_opts(opts)
56
- opts.banner = <<END
57
- Usage: compass [options] [project]
58
-
59
- Description:
60
- The compass command line tool will help you create and manage the stylesheets for your project.
61
-
62
- To get started on a stand-alone project based on blueprint:
63
-
64
- compass -f blueprint my_compass_project
65
-
66
- When you change any sass files, you must recompile your project using --update or --watch.
67
- END
68
- opts.separator ''
69
- opts.separator 'Mode Options(only specify one):'
70
-
71
- opts.on('-i', '--install', :NONE, "Create a new compass project.",
72
- " The default mode when a project is provided.") do
73
- self.options[:command] = :create_project
74
- end
75
-
76
- opts.on('-u', '--update', :NONE, 'Update the current project.',
77
- ' This is the default when no project is provided.') do
78
- self.options[:command] = :update_project
79
- end
80
-
81
- opts.on('-w', '--watch', :NONE, 'Monitor the current project for changes and update') do
82
- self.options[:command] = :watch_project
83
- self.options[:quiet] = true
84
- end
85
-
86
- opts.on('-p', '--pattern PATTERN', 'Stamp out a pattern into the current project.',
87
- ' Must be used with -f.') do |pattern|
88
- self.options[:command] = :stamp_pattern
89
- self.options[:pattern] = pattern
90
- end
91
-
92
- opts.on('-h', '--help') do
93
- self.options[:command] = :help
94
- self.options[:help_command] = :help
95
- end
96
-
97
- opts.on('--write-configuration', "Write the current configuration to the configuration file.") do
98
- self.options[:command] = :write_configuration
99
- end
100
-
101
- opts.on('--list-frameworks', "List compass frameworks available to use.") do
102
- self.options[:command] = :list_frameworks
103
- end
104
-
105
- opts.on('--validate', :NONE, 'Validate your project\'s compiled css. Requires Java.') do
106
- self.options[:command] = :validate_project
107
- end
108
-
109
- opts.on('--grid-img [DIMENSIONS]', 'Generate a background image to test grid alignment.',
110
- ' Dimension is given as <column_width>+<gutter_width>x<height>.',
111
- ' Defaults to 30+10x20. Height is optional.') do |dimensions|
112
- self.options[:grid_dimensions] = dimensions || "30+10"
113
- self.options[:command] = :generate_grid_background
114
- end
115
-
116
- opts.separator ''
117
- opts.separator 'Install/Pattern Options:'
118
-
119
- opts.on('-f FRAMEWORK', '--framework FRAMEWORK', 'Use the specified framework. Only one may be specified.') do |framework|
120
- self.options[:framework] = framework
121
- end
122
-
123
- opts.on('-n', '--pattern-name NAME', 'The name to use when stamping a pattern.',
124
- ' Must be used in combination with -p.') do |name|
125
- self.options[:pattern_name] = name
126
- end
127
-
128
- opts.on("-x", "--syntax SYNTAX", [:sass, :scss], "Specify the syntax to use when generating stylesheets.", "One of sass or scss. Defaults to scss.") do |syntax|
129
- self.options[:preferred_syntax] = syntax
130
- end
131
-
132
- opts.on('--rails', "Sets the app type to a rails project (same as --app rails).") do
133
- self.options[:project_type] = :rails
134
- end
135
-
136
- opts.on('--app APP_TYPE', 'Specify the kind of application to integrate with.') do |project_type|
137
- self.options[:project_type] = project_type.to_sym
138
- end
139
-
140
- opts.separator ''
141
- opts.separator 'Configuration Options:'
142
-
143
- set_project_options(opts)
144
-
145
- opts.separator ''
146
- opts.separator 'General Options:'
147
-
148
- set_global_options(opts)
149
-
150
- opts.on('--imports', :NONE, 'Emit an imports suitable for passing to the sass command-line.',
151
- ' Example: sass `compass --imports`',
152
- ' Note: Compass\'s Sass extensions will not be available.') do
153
- print ::Compass::Frameworks::ALL.map{|f| "-I #{f.stylesheets_directory}"}.join(' ')
154
- exit
155
- end
156
-
157
- opts.on('--install-dir', :NONE, 'Emit the location where compass is installed.') do
158
- puts ::Compass.base_directory
159
- exit
160
- end
161
-
162
- opts.on_tail("-v", "--version", "Print version") do
163
- self.options[:command] = :print_version
164
- end
165
-
166
- opts.on('--boring', :NONE, 'Turn off colorized output.') do
167
- self.options[:color_output] = false
168
- end
169
-
170
- end
171
-
172
- def do_command(command)
173
- command_class_name = command.to_s.split(/_/).map{|p| p.capitalize}.join('')
174
- command_class = eval("::Compass::Commands::#{command_class_name}")
175
- command_class.new(Dir.getwd, options).execute
176
- end
177
-
178
- end
179
- end
1
+ require 'compass/exec/global_options_parser'
2
+ require 'compass/exec/project_options_parser'
3
+
4
+ module Compass::Exec
5
+ class SwitchUI
6
+ include GlobalOptionsParser
7
+ include ProjectOptionsParser
8
+ attr_accessor :args, :options, :opts
9
+
10
+ def initialize(args)
11
+ self.args = args
12
+ self.options = {}
13
+ parse!
14
+ end
15
+
16
+ def run!
17
+ begin
18
+ perform!
19
+ rescue Exception => e
20
+ raise e if e.is_a? SystemExit
21
+ if e.is_a?(::Compass::Error) || e.is_a?(OptionParser::ParseError)
22
+ $stderr.puts e.message
23
+ else
24
+ ::Compass::Exec::Helpers.report_error(e, @options)
25
+ end
26
+ return 1
27
+ end
28
+ return 0
29
+ end
30
+
31
+ protected
32
+
33
+ def perform!
34
+ if options[:command]
35
+ do_command(options[:command])
36
+ else
37
+ puts self.opts
38
+ end
39
+ end
40
+
41
+ def parse!
42
+ self.opts = OptionParser.new(&method(:set_opts))
43
+ self.opts.parse!(self.args)
44
+ if self.args.size > 0
45
+ self.options[:project_name] = trim_trailing_separator(self.args.shift)
46
+ end
47
+ self.options[:command] ||= self.options[:project_name] ? :create_project : :update_project
48
+ self.options[:framework] ||= :compass
49
+ end
50
+
51
+ def trim_trailing_separator(path)
52
+ path[-1..-1] == File::SEPARATOR ? path[0..-2] : path
53
+ end
54
+
55
+ def set_opts(opts)
56
+ opts.banner = <<END
57
+ Usage: compass [options] [project]
58
+
59
+ Description:
60
+ The compass command line tool will help you create and manage the stylesheets for your project.
61
+
62
+ To get started on a stand-alone project based on blueprint:
63
+
64
+ compass -f blueprint my_compass_project
65
+
66
+ When you change any sass files, you must recompile your project using --update or --watch.
67
+ END
68
+ opts.separator ''
69
+ opts.separator 'Mode Options(only specify one):'
70
+
71
+ opts.on('-i', '--install', :NONE, "Create a new compass project.",
72
+ " The default mode when a project is provided.") do
73
+ self.options[:command] = :create_project
74
+ end
75
+
76
+ opts.on('-u', '--update', :NONE, 'Update the current project.',
77
+ ' This is the default when no project is provided.') do
78
+ self.options[:command] = :update_project
79
+ end
80
+
81
+ opts.on('-w', '--watch', :NONE, 'Monitor the current project for changes and update') do
82
+ self.options[:command] = :watch_project
83
+ self.options[:quiet] = true
84
+ end
85
+
86
+ opts.on('-p', '--pattern PATTERN', 'Stamp out a pattern into the current project.',
87
+ ' Must be used with -f.') do |pattern|
88
+ self.options[:command] = :stamp_pattern
89
+ self.options[:pattern] = pattern
90
+ end
91
+
92
+ opts.on('-h', '--help') do
93
+ self.options[:command] = :help
94
+ self.options[:help_command] = :help
95
+ end
96
+
97
+ opts.on('--write-configuration', "Write the current configuration to the configuration file.") do
98
+ self.options[:command] = :write_configuration
99
+ end
100
+
101
+ opts.on('--list-frameworks', "List compass frameworks available to use.") do
102
+ self.options[:command] = :list_frameworks
103
+ end
104
+
105
+ opts.on('--validate', :NONE, 'Validate your project\'s compiled css. Requires Java.') do
106
+ self.options[:command] = :validate_project
107
+ end
108
+
109
+ opts.on('--grid-img [DIMENSIONS]', 'Generate a background image to test grid alignment.',
110
+ ' Dimension is given as <column_width>+<gutter_width>x<height>.',
111
+ ' Defaults to 30+10x20. Height is optional.') do |dimensions|
112
+ self.options[:grid_dimensions] = dimensions || "30+10"
113
+ self.options[:command] = :generate_grid_background
114
+ end
115
+
116
+ opts.separator ''
117
+ opts.separator 'Install/Pattern Options:'
118
+
119
+ opts.on('-f FRAMEWORK', '--framework FRAMEWORK', 'Use the specified framework. Only one may be specified.') do |framework|
120
+ self.options[:framework] = framework
121
+ end
122
+
123
+ opts.on('-n', '--pattern-name NAME', 'The name to use when stamping a pattern.',
124
+ ' Must be used in combination with -p.') do |name|
125
+ self.options[:pattern_name] = name
126
+ end
127
+
128
+ opts.on("-x", "--syntax SYNTAX", [:sass, :scss], "Specify the syntax to use when generating stylesheets.", "One of sass or scss. Defaults to scss.") do |syntax|
129
+ self.options[:preferred_syntax] = syntax
130
+ end
131
+
132
+ opts.on('--rails', "Sets the app type to a rails project (same as --app rails).") do
133
+ self.options[:project_type] = :rails
134
+ end
135
+
136
+ opts.on('--app APP_TYPE', 'Specify the kind of application to integrate with.') do |project_type|
137
+ self.options[:project_type] = project_type.to_sym
138
+ end
139
+
140
+ opts.separator ''
141
+ opts.separator 'Configuration Options:'
142
+
143
+ set_project_options(opts)
144
+
145
+ opts.separator ''
146
+ opts.separator 'General Options:'
147
+
148
+ set_global_options(opts)
149
+
150
+ opts.on('--imports', :NONE, 'Emit an imports suitable for passing to the sass command-line.',
151
+ ' Example: sass `compass --imports`',
152
+ ' Note: Compass\'s Sass extensions will not be available.') do
153
+ print ::Compass::Frameworks::ALL.map{|f| "-I #{f.stylesheets_directory}"}.join(' ')
154
+ exit
155
+ end
156
+
157
+ opts.on('--install-dir', :NONE, 'Emit the location where compass is installed.') do
158
+ puts ::Compass.base_directory
159
+ exit
160
+ end
161
+
162
+ opts.on_tail("-v", "--version", "Print version") do
163
+ self.options[:command] = :print_version
164
+ end
165
+
166
+ opts.on('--boring', :NONE, 'Turn off colorized output.') do
167
+ self.options[:color_output] = false
168
+ end
169
+
170
+ end
171
+
172
+ def do_command(command)
173
+ command_class_name = command.to_s.split(/_/).map{|p| p.capitalize}.join('')
174
+ command_class = eval("::Compass::Commands::#{command_class_name}")
175
+ command_class.new(Dir.getwd, options).execute
176
+ end
177
+
178
+ end
179
+ end