# File lib/cliver/dependency.rb, line 51
    def initialize(executables, *args, &detector)
      options = args.last.kind_of?(Hash) ? args.pop : {}
      @detector = Detector::generate(detector || options[:detector])
      @filter = options.fetch(:filter, Filter::IDENTITY).extend(Filter)
      @path = options.fetch(:path, '*')
      @strict = options.fetch(:strict, false)

      @executables = Array(executables).dup.freeze
      @requirement = args unless args.empty?

      check_compatibility!
    end