Class: Haml::Exec::SassConvert
Overview
The sass-convert executable.
Constant Summary
Instance Method Summary
- - (SassConvert) initialize(args) 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_action, #to_s
Constructor Details
- (SassConvert) initialize(args)
A new instance of SassConvert
649 650 651 652 653 654 |
# File '/var/www/sass-pages/.haml/lib/haml/exec.rb', line 649
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.
729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 |
# File '/var/www/sass-pages/.haml/lib/haml/exec.rb', line 729
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.
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 |
# File '/var/www/sass-pages/.haml/lib/haml/exec.rb', line 659
def set_opts(opts)
opts.banner = "Usage: sass-convert [options] [INPUT] [OUTPUT]\n\nDescription:\n Converts between CSS, Sass, and SCSS files.\n E.g. converts from SCSS to Sass,\n or converts from CSS to SCSS (adding appropriate nesting).\n\nOptions:\n"
opts.on('-F', '--from FORMAT',
'The format to convert from. Can be css, scss, sass, less, or sass2.',
'sass2 is the same as sass, but updates more old syntax to new.',
'By default, this is inferred from the input filename.',
'If there is none, defaults to css.') do |name|
@options[:from] = name.downcase.to_sym
unless [:css, :scss, :sass, :less, :sass2].include?(@options[:from])
raise "Unknown format for sass-convert --from: #{name}"
end
try_less_note if @options[:from] == :less
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('--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 ::Haml::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
|