Class: Sass::Exec::SassConvert
Overview
The sass-convert
executable.
Constant Summary
Constants inherited from Generic
Instance Method Summary collapse
-
#initialize(args) ⇒ SassConvert
constructor
A new instance of SassConvert.
-
#process_result
Processes the options set by the command-line arguments, and runs the CSS compiler appropriately.
-
#set_opts(opts)
Tells optparse how to parse the arguments.
Methods inherited from Generic
#color, #get_line, #parse, #parse!, #puts, #puts_action, #to_s, #write_output
Constructor Details
#initialize(args) ⇒ SassConvert
Returns a new instance of SassConvert.
502 503 504 505 506 507 |
# File 'lib/sass/exec.rb', line 502
def initialize(args)
super
require 'sass'
@options[:for_tree] = {}
@options[:for_engine] = {:cache => false, :read_cache => true}
end
|
Instance Method Details
#process_result
Processes the options set by the command-line arguments, and runs the CSS compiler appropriately.
591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 |
# File 'lib/sass/exec.rb', line 591
def process_result
require 'sass'
if @options[:recursive]
process_directory
return
end
super
input = @options[:input]
raise "Error: '#{input.path}' is a directory (did you mean to use --recursive?)" if File.directory?(input)
output = @options[:output]
output = input if @options[:in_place]
process_file(input, output)
end
|
#set_opts(opts)
Tells optparse how to parse the arguments.
512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 |
# File 'lib/sass/exec.rb', line 512
def set_opts(opts)
opts.banner = <<END
Usage: sass-convert [options] [INPUT] [OUTPUT]
Description:
Converts between CSS, Sass, and SCSS files.
E.g. converts from SCSS to Sass,
or converts from CSS to SCSS (adding appropriate nesting).
Options:
END
opts.on('-F', '--from FORMAT',
'The format to convert from. Can be css, scss, sass.',
'By default, this is inferred from the input filename.',
'If there is none, defaults to css.') do |name|
@options[:from] = name.downcase.to_sym
raise "sass-convert no longer supports LessCSS." if @options[:from] == :less
unless [:css, :scss, :sass].include?(@options[:from])
raise "Unknown format for sass-convert --from: #{name}"
end
end
opts.on('-T', '--to FORMAT',
'The format to convert to. Can be scss or sass.',
'By default, this is inferred from the output filename.',
'If there is none, defaults to sass.') do |name|
@options[:to] = name.downcase.to_sym
unless [:scss, :sass].include?(@options[:to])
raise "Unknown format for sass-convert --to: #{name}"
end
end
opts.on('-R', '--recursive',
'Convert all the files in a directory. Requires --from and --to.') do
@options[:recursive] = true
end
opts.on('-i', '--in-place',
'Convert a file to its own syntax.',
'This can be used to update some deprecated syntax.') do
@options[:in_place] = true
end
opts.on('--dasherize', 'Convert underscores to dashes') do
@options[:for_tree][:dasherize] = true
end
opts.on('--indent NUM',
'How many spaces to use for each level of indentation. Defaults to 2.',
'"t" means use hard tabs.') do |indent|
if indent == 't'
@options[:for_tree][:indent] = "\t"
else
@options[:for_tree][:indent] = " " * indent.to_i
end
end
opts.on('--old', 'Output the old-style ":prop val" property syntax.',
'Only meaningful when generating Sass.') do
@options[:for_tree][:old] = true
end
opts.on('-C', '--no-cache', "Don't cache to sassc files.") do
@options[:for_engine][:read_cache] = false
end
unless ::Sass::Util.ruby1_8?
opts.on('-E encoding', 'Specify the default encoding for Sass and CSS files.') do |encoding|
Encoding.default_external = encoding
end
end
super
end
|