Files
git-utilities/lib/release/loader.rb
2017-09-19 21:18:37 -04:00

29 lines
574 B
Ruby

module Release
class Loader
attr_reader :commands, :default
def initialize commands, default
@commands = commands
@default = default
end
def create key, argv
key = default unless commands.include? key
require_relative "./#{key}"
klass = Module.const_get "Release::#{key.to_s.capitalize}"
klass.new(argv)
end
def create_all argv
commands.map { |x| create(x,argv) }
end
def search pattern
regexp = Regexp.new(pattern)
commands.select { |x| regexp.match(x.to_s) }
end
end
end