Added a new command line option to emit and update the stand-alone configuration file.
This commit is contained in:
parent
95fd94428a
commit
43ee4e1c98
37
lib/compass/commands/write_configuration.rb
Normal file
37
lib/compass/commands/write_configuration.rb
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
require File.join(File.dirname(__FILE__), 'project_base')
|
||||||
|
|
||||||
|
module Compass
|
||||||
|
module Commands
|
||||||
|
class WriteConfiguration < ProjectBase
|
||||||
|
|
||||||
|
def initialize(working_path, options)
|
||||||
|
super
|
||||||
|
assert_project_directory_exists!
|
||||||
|
end
|
||||||
|
|
||||||
|
def perform
|
||||||
|
read_project_configuration
|
||||||
|
Compass.configuration.set_maybe(options)
|
||||||
|
Compass.configuration.set_defaults!
|
||||||
|
config_file = projectize("config.rb")
|
||||||
|
if File.exists?(config_file)
|
||||||
|
if options[:force]
|
||||||
|
logger.record(:overwrite, config_file)
|
||||||
|
else
|
||||||
|
message = "#{config_file} already exists. Run with --force to overwrite."
|
||||||
|
raise Compass::FilesystemConflict.new(message)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
logger.record(:create, basename(config_file))
|
||||||
|
end
|
||||||
|
project_path, Compass.configuration.project_path = Compass.configuration.project_path, nil
|
||||||
|
open(config_file,'w') do |config|
|
||||||
|
config.puts Compass.configuration.serialize
|
||||||
|
end
|
||||||
|
Compass.configuration.project_path = project_path
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -113,6 +113,10 @@ END
|
|||||||
self.options[:command] = :list_frameworks
|
self.options[:command] = :list_frameworks
|
||||||
end
|
end
|
||||||
|
|
||||||
|
opts.on('-c', '--write-configuration', "Write the current configuration to the configuration file.") do
|
||||||
|
self.options[:command] = :write_configuration
|
||||||
|
end
|
||||||
|
|
||||||
opts.on('-f FRAMEWORK', '--framework FRAMEWORK', 'Set up a new project using the specified framework.') do |framework|
|
opts.on('-f FRAMEWORK', '--framework FRAMEWORK', 'Set up a new project using the specified framework.') do |framework|
|
||||||
self.options[:framework] = framework
|
self.options[:framework] = framework
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user