class Slappy::Commands::Run

Public Instance Methods

call() click to toggle source
# File lib/slappy/commands/run.rb, line 6
def call
  load_dsl
  load_config
  load_libs
  load_scripts
  Slappy.start
rescue InvalidPathError => e
  puts TermColor.parse "<red>Error:</red> #{e.message}"
end

Private Instance Methods

load_config() click to toggle source
# File lib/slappy/commands/run.rb, line 23
def load_config
  file = File.expand_path Slappy.configuration.config_file_path, Dir.pwd
  begin
    require file
  rescue LoadError
    raise InvalidPathError.new, "file #{file} not found"
  end
end
load_directory(dir_name, &block) click to toggle source
# File lib/slappy/commands/run.rb, line 32
def load_directory(dir_name, &block)
  dir_path = Slappy.configuration.send dir_name.to_sym

  unless FileTest.directory? dir_path
    message = "directory #{dir_path} not found"
    fail InvalidPathError.new, message
  end

  dir_path = "./#{dir_path}" unless dir_path.match(%r{"./"})
  block.call(dir_path)
end
load_dsl() click to toggle source
# File lib/slappy/commands/run.rb, line 18
def load_dsl
  return if Slappy.configuration.dsl == :disabled
  require 'slappy/dsl'
end
load_libs() click to toggle source
# File lib/slappy/commands/run.rb, line 44
def load_libs
  load_directory(:lib_dir_path) do |lib_dir|
    Dir.glob("#{lib_dir}/**/*.rb").each do |file|
      require file
    end
  end
end
load_scripts() click to toggle source
# File lib/slappy/commands/run.rb, line 52
def load_scripts
  load_directory(:scripts_dir_path) do |script_dir|
    Dir.glob("#{script_dir}/**/*.rb").each do |file|
      block = proc { require file }
      block.call
    end
  end
end