lib/cliver/detector/default.rb in cliver-0.1.2 vs lib/cliver/detector/default.rb in cliver-0.1.3

- old
+ new

@@ -6,11 +6,15 @@ # Requires a command argument (default '--version') # and a pattern-matcher Regexp with sensible default. class Detector::Default < Struct.new(:command_arg, :version_pattern) include Detector + # Default pattern to use when searching {#version_command} output DEFAULT_VERSION_PATTERN = /(?<=version )[0-9][.0-9a-z]+/i.freeze + + # Default command argument to use against the executable to get + # version output DEFAULT_COMMAND_ARG = '--version'.freeze # Forgiving input, allows either argument if only one supplied. # # @overload initialize(command_arg) @@ -22,18 +26,27 @@ command_arg = args.shift if args.first.kind_of?(String) version_pattern = args.shift super(command_arg, version_pattern) end + # The pattern to match the version in {#version_command}'s output. + # Defaults to {DEFAULT_VERSION_PATTERN} + # @overload (see Cliver::Detector#version_pattern) + # @return (see Cliver::Detector#version_pattern) def version_pattern super || DEFAULT_VERSION_PATTERN end + # The argument to pass to the executable to get current version + # Defaults to {DEFAULT_COMMAND_ARG} + # @return [String] def command_arg super || DEFAULT_COMMAND_ARG end - def version_command(executable) - [executable, command_arg] + # @overload (see Cliver::Detector#version_command) + # @return (see Cliver::Detector#version_command) + def version_command(executable_path) + [executable_path, command_arg] end end end