Module: Sassconf

Extended by:
Logging
Defined in:
lib/sassconf.rb,
lib/sassconf/util.rb,
lib/sassconf/logger.rb,
lib/sassconf/version.rb,
lib/sassconf/sass_executor.rb,
lib/sassconf/config_manager.rb,
lib/sassconf/core_extensions.rb

Defined Under Namespace

Modules: CoreExtensions, Logging Classes: ConfigManager, Parser, SassExecutor, Util

Constant Summary collapse

VERSION =
'0.1.5'

Class Method Summary collapse

Methods included from Logging

activate, configure_logger_for, logger, logger_for

Class Method Details

.eval_and_execute(config_manager, sass_executor, option_args) ⇒ Object



94
95
96
97
98
99
# File 'lib/sassconf.rb', line 94

def self.eval_and_execute(config_manager, sass_executor, option_args)
  sass_executor.detach_and_kill
  config_manager.eval_rb_file(option_args.config_path, option_args.extern_args)
  argument_string = sass_executor.create_all_argument_strings(config_manager.variable_with_value_hash, config_manager.variable_hash)
  sass_executor.execute(argument_string)
end

.startObject



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/sassconf.rb', line 71

def self.start
  begin
    option_args = Parser.parse(ARGV)
    config_manager = ConfigManager.new
    executor = SassExecutor.new(ARGV[0], ARGV[1])

    Sassconf.eval_and_execute(config_manager, executor, option_args)

    config_manager.watch_update(option_args.config_path, option_args.reload_active) do |filename|
      logger.info("Config reload: #{filename}")
      Sassconf.eval_and_execute(config_manager, executor, option_args)
      puts "Config reloaded: #{filename}".newline(1, :left).paragraph
    end

    executor.wait
  rescue StandardError, ScriptError => e
    puts e.message
    logger.error(e)
  ensure
    exit
  end
end