class CIScripts::Script

Public Class Methods

new(script_name) click to toggle source
# File lib/ci_scripts.rb, line 11
def initialize(script_name)
  script_name = script_name.strip
  full_path = File.join(File.dirname(__FILE__), "scripts", script_name)

  unless File.exist?("#{full_path}.rb")
    log_error "#{script_name} does not exists"
    return
  end

  require full_path

  @class_name = parse_script_name(script_name)
end

Public Instance Methods

run() click to toggle source
# File lib/ci_scripts.rb, line 25
def run
  return false unless @class_name

  result = Object.const_get(@class_name).new.send("run")
  return true if result.nil?
  result
end

Private Instance Methods

parse_script_name(script) click to toggle source
# File lib/ci_scripts.rb, line 35
def parse_script_name(script)
  module_name = ""

  script_parts = script.split("/")
  # function_name = script_parts.pop

  script_parts.each do |part|
    module_name += "::" unless module_name.empty?
    module_name += classify(part)
  end

  module_name
end