compass-edge 0.9.1 → 0.9.2

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 (34) hide show
  1. data/Rakefile +34 -1
  2. data/VERSION.yml +3 -2
  3. data/features/command_line.feature +219 -0
  4. data/features/step_definitions/command_line_steps.rb +199 -0
  5. data/lib/compass/app_integration/rails/installer.rb +3 -1
  6. data/lib/compass/app_integration/stand_alone/installer.rb +26 -11
  7. data/lib/compass/commands.rb +1 -1
  8. data/lib/compass/commands/create_project.rb +8 -1
  9. data/lib/compass/commands/installer_command.rb +6 -2
  10. data/lib/compass/commands/project_stats.rb +160 -0
  11. data/lib/compass/commands/update_project.rb +49 -1
  12. data/lib/compass/commands/validate_project.rb +56 -2
  13. data/lib/compass/commands/watch_project.rb +3 -1
  14. data/lib/compass/commands/write_configuration.rb +60 -2
  15. data/lib/compass/compiler.rb +4 -3
  16. data/lib/compass/configuration/helpers.rb +9 -0
  17. data/lib/compass/errors.rb +4 -1
  18. data/lib/compass/exec.rb +1 -0
  19. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/general/_reset.sass +2 -2
  20. data/lib/compass/installers.rb +1 -1
  21. data/lib/compass/installers/bare_installer.rb +62 -0
  22. data/lib/compass/installers/base.rb +7 -51
  23. data/lib/compass/installers/manifest_installer.rb +59 -0
  24. data/lib/compass/sass_extensions/monkey_patches.rb +2 -2
  25. data/lib/compass/sass_extensions/monkey_patches/traversal.rb +23 -0
  26. data/lib/compass/stats.rb +92 -0
  27. data/lib/compass/validator.rb +2 -3
  28. data/test/command_line_helper.rb +6 -2
  29. data/test/fixtures/stylesheets/compass/css/reset.css +1 -1
  30. data/test/io_helper.rb +18 -1
  31. data/test/rails_helper.rb +40 -0
  32. data/test/rails_integration_test.rb +2 -40
  33. data/test/test_helper.rb +1 -0
  34. metadata +12 -3
@@ -43,7 +43,7 @@ q, blockquote {
43
43
  q:before, q:after, blockquote:before, blockquote:after {
44
44
  content: ""; }
45
45
 
46
- img a {
46
+ a img {
47
47
  border: none; }
48
48
 
49
49
  .unregistered-only, .registered-only {
@@ -15,5 +15,22 @@ module Compass
15
15
  ensure
16
16
  $stderr = real_stderr
17
17
  end
18
+
19
+ def capture_pipe(io, options = {})
20
+ options[:wait] = 0.25
21
+ options[:timeout] = 1.0
22
+ output = ""
23
+ eof_at = nil
24
+ while !eof_at || (Time.now - eof_at < options[:wait])
25
+ if io.eof?
26
+ eof_at ||= Time.now
27
+ sleep 0.1
28
+ else
29
+ eof_at = nil
30
+ timeout(options[:timeout]) { output << io.readpartial(1024) }
31
+ end
32
+ end
33
+ output
34
+ end
18
35
  end
19
- end
36
+ end
@@ -0,0 +1,40 @@
1
+ module Compass
2
+ module RailsHelper
3
+ def generate_rails_app_directories(name)
4
+ Dir.mkdir name
5
+ Dir.mkdir File.join(name, "config")
6
+ Dir.mkdir File.join(name, "config", "initializers")
7
+ end
8
+
9
+ # Generate a rails application without polluting our current set of requires
10
+ # with the rails libraries. This will allow testing against multiple versions of rails
11
+ # by manipulating the load path.
12
+ def generate_rails_app(name)
13
+ if pid = fork
14
+ Process.wait(pid)
15
+ if $?.exitstatus == 2
16
+ raise LoadError, "Couldn't load rails"
17
+ elsif $?.exitstatus != 0
18
+ raise "Failed to generate rails application."
19
+ end
20
+ else
21
+ begin
22
+ require 'rails/version'
23
+ require 'rails_generator'
24
+ require 'rails_generator/scripts/generate'
25
+ Rails::Generator::Base.use_application_sources!
26
+ capture_output do
27
+ Rails::Generator::Base.logger = Rails::Generator::SimpleLogger.new $stdout
28
+ Rails::Generator::Scripts::Generate.new.run([name], :generator => 'app')
29
+ end
30
+ rescue LoadError
31
+ Kernel.exit!(2)
32
+ rescue => e
33
+ $stderr.puts e
34
+ Kernel.exit!(1)
35
+ end
36
+ Kernel.exit!(0)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -8,6 +8,7 @@ class RailsIntegrationTest < Test::Unit::TestCase
8
8
  include Compass::TestCaseHelper
9
9
  include Compass::CommandLineHelper
10
10
  include Compass::IoHelper
11
+ include Compass::RailsHelper
11
12
 
12
13
  def setup
13
14
  Compass.reset_configuration!
@@ -42,43 +43,4 @@ class RailsIntegrationTest < Test::Unit::TestCase
42
43
  rescue LoadError
43
44
  puts "Skipping rails test. Couldn't Load rails"
44
45
  end
45
-
46
-
47
- def generate_rails_app_directories(name)
48
- Dir.mkdir name
49
- Dir.mkdir File.join(name, "config")
50
- Dir.mkdir File.join(name, "config", "initializers")
51
- end
52
-
53
- # Generate a rails application without polluting our current set of requires
54
- # with the rails libraries. This will allow testing against multiple versions of rails
55
- # by manipulating the load path.
56
- def generate_rails_app(name)
57
- if pid = fork
58
- Process.wait(pid)
59
- if $?.exitstatus == 2
60
- raise LoadError, "Couldn't load rails"
61
- elsif $?.exitstatus != 0
62
- raise "Failed to generate rails application."
63
- end
64
- else
65
- begin
66
- require 'rails/version'
67
- require 'rails_generator'
68
- require 'rails_generator/scripts/generate'
69
- Rails::Generator::Base.use_application_sources!
70
- capture_output do
71
- Rails::Generator::Base.logger = Rails::Generator::SimpleLogger.new $stdout
72
- Rails::Generator::Scripts::Generate.new.run([name], :generator => 'app')
73
- end
74
- rescue LoadError
75
- Kernel.exit(2)
76
- rescue => e
77
- $stderr.puts e
78
- Kernel.exit!(1)
79
- end
80
- Kernel.exit!(0)
81
- end
82
- end
83
-
84
- end
46
+ end
@@ -24,4 +24,5 @@ require 'test/unit'
24
24
 
25
25
  require 'test_case_helper'
26
26
  require 'io_helper'
27
+ require 'rails_helper'
27
28
  require 'command_line_helper'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compass-edge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Eppstein
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-23 00:00:00 -07:00
12
+ date: 2009-10-30 00:00:00 -07:00
13
13
  default_executable: compass
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -22,7 +22,7 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: 2.2.0
24
24
  version:
25
- description: This is the edge version of compass. It's probably broken. Use it to help test the next version of compass.
25
+ description: Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintainance of CSS.
26
26
  email: chris@eppsteins.net
27
27
  executables:
28
28
  - compass
@@ -170,6 +170,7 @@ files:
170
170
  - lib/compass/commands/list_frameworks.rb
171
171
  - lib/compass/commands/print_version.rb
172
172
  - lib/compass/commands/project_base.rb
173
+ - lib/compass/commands/project_stats.rb
173
174
  - lib/compass/commands/registry.rb
174
175
  - lib/compass/commands/stamp_pattern.rb
175
176
  - lib/compass/commands/update_project.rb
@@ -289,8 +290,10 @@ files:
289
290
  - lib/compass/frameworks/compass/templates/project/screen.sass
290
291
  - lib/compass/grid_builder.rb
291
292
  - lib/compass/installers.rb
293
+ - lib/compass/installers/bare_installer.rb
292
294
  - lib/compass/installers/base.rb
293
295
  - lib/compass/installers/manifest.rb
296
+ - lib/compass/installers/manifest_installer.rb
294
297
  - lib/compass/installers/template_context.rb
295
298
  - lib/compass/logger.rb
296
299
  - lib/compass/sass_extensions.rb
@@ -302,6 +305,8 @@ files:
302
305
  - lib/compass/sass_extensions/functions/urls.rb
303
306
  - lib/compass/sass_extensions/monkey_patches.rb
304
307
  - lib/compass/sass_extensions/monkey_patches/stylesheet_updating.rb
308
+ - lib/compass/sass_extensions/monkey_patches/traversal.rb
309
+ - lib/compass/stats.rb
305
310
  - lib/compass/test_case.rb
306
311
  - lib/compass/validator.rb
307
312
  - lib/compass/version.rb
@@ -338,6 +343,7 @@ files:
338
343
  - test/fixtures/stylesheets/image_urls/images/grid.png
339
344
  - test/fixtures/stylesheets/image_urls/sass/screen.sass
340
345
  - test/io_helper.rb
346
+ - test/rails_helper.rb
341
347
  - test/rails_integration_test.rb
342
348
  - test/sass_extensions_test.rb
343
349
  - test/test_case_helper.rb
@@ -397,8 +403,11 @@ test_files:
397
403
  - test/fixtures/stylesheets/image_urls/images/grid.png
398
404
  - test/fixtures/stylesheets/image_urls/sass/screen.sass
399
405
  - test/io_helper.rb
406
+ - test/rails_helper.rb
400
407
  - test/rails_integration_test.rb
401
408
  - test/sass_extensions_test.rb
402
409
  - test/test_case_helper.rb
403
410
  - test/test_helper.rb
404
411
  - test/test_rails_helper.rb
412
+ - features/command_line.feature
413
+ - features/step_definitions/command_line_steps.rb