class SCSSBeautifier::CLI

Public Instance Methods

run(args) click to toggle source
# File lib/scss_beautifier/cli.rb, line 4
def run(args)
  options = Options.new.parse(args)
  generate_configuration and return if options[:generate_config]

  contents = args.first.nil? ? $stdin.read : File.read(args.first)
  engine = Sass::Engine.new(contents, cache: false, syntax: :scss)

  tree = engine.to_tree
  config = Config.new(options[:config])

  config.formatters.each do |formatter|
    formatter.send(:visit, tree)
  end

  output = SCSSBeautifier::Convert.visit(tree, config.options, :scss)
  if options[:in_place]
    File.write(args.first, output)
  else
    puts output
  end
end

Private Instance Methods

generate_configuration() click to toggle source
# File lib/scss_beautifier/cli.rb, line 28
def generate_configuration
  File.write(".scss-beautifier", File.read(Config::DEFAULT))
end