Commit Graph

11 Commits

Author SHA1 Message Date
Chris Eppstein
d37d63cce3 Make these damn tests pass in ruby 1.9. Evidently, you have to read from $stdin explicitly. 2010-01-18 12:34:37 -08:00
Chris Eppstein
4b68a64ea9 Pretty color output for the compass logger. 2009-11-29 20:18:25 -08:00
Chris Eppstein
b0637be654 Fix some test errors that occur when gems are missing. 2009-10-30 08:19:44 -07:00
Chris Eppstein
853e97f2e4 [Command Line] Ability to create a bare project with no stylesheets provided. 2009-10-22 09:46:54 -07:00
Chris Eppstein
f6b138062f Setup Cucumber tests and wrote the first scenario for the command line. 2009-10-16 00:57:34 -07:00
Chris Eppstein
4cc569586b Restructure the existing command line code to allow for the new sub-command based CLI. 2009-09-29 18:35:24 -07:00
Chris Eppstein
cb45b6d438 Generalized application framework integration. There are three that ship with compass: Merb, Rails, and StandAlone.
All application specific behavior is now centralized within the app integration modules.
Plugins can now provide app integration using the --app command line option and by adding the appropriate classes to the compass module tree.
2009-09-01 20:20:23 -07:00
Chris Eppstein
f59ca512ce Refactor of the internal datastructures used to access project
configuration. Configuration is now a singly linked list of configuration objects
that inherit values and defaults from the next configuration instance.
All instances hold a reference to the top of the configuration chain.

There is now a consistent API for reading configuration property values:

                <attr>: Reads the fully-resolved attribute after taking
                        configuration inheritance and defaults into account.
            raw_<attr>: reads attribute from a configuration object without
                        inheritance or defaults.
   default_for(<attr>): reads the default value for an attribute
    default_for_<attr>: specifies the default value for an attribute.
<attr>_without_default: reads the inherited attribute without applying defaults.
    comment_for_<attr>: Specifies a comment that will be emitted above the
                        property when serializing the configuration to a file.

Additionally, method_missing and respond_to both work down the
configuration chain, so any method that is added to a configuration
instance, can be accessed from the top level.

The distinction between default and explicitly set values allows compass
to more correctly manage the serialization of attributes when creating
configuration files for projects.

The compass configuration can still be accessed via
Compass.configuration, however, the configuration object is no longer a
singleton. This means that you can build several configuration chains
to track several projects at once. This should ease the use of compass
in other frameworks and plugins that want to use compass internally.
2009-08-29 13:20:32 -07:00
Chris Eppstein
ccc2823f00 [Unit Tests] More complex rails generator helper method, and a more simple one. 2009-06-20 12:29:30 -07:00
Chris Eppstein
1beab7853a [Unit Tests] Allow the wait time to be configured as an option, default to less time. 2009-06-20 12:29:30 -07:00
Chris Eppstein
8a7c92a40d [Unit Tests] Extracted rails tests to their own test suite. 2009-06-20 12:29:30 -07:00