aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/version.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/version.rb')
-rw-r--r--Library/Homebrew/version.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb
index 878832f67..2591f74e3 100644
--- a/Library/Homebrew/version.rb
+++ b/Library/Homebrew/version.rb
@@ -126,3 +126,24 @@ class Version
return m.captures.first unless m.nil?
end
end
+
+class VersionSchemeDetector
+ def initialize scheme
+ @scheme = scheme
+ end
+
+ def detect
+ if @scheme.is_a? Class and @scheme.ancestors.include? Version
+ @scheme
+ elsif @scheme.is_a? Symbol then detect_from_symbol
+ else
+ raise "Unknown version scheme #{@scheme} was requested."
+ end
+ end
+
+ private
+
+ def detect_from_symbol
+ raise "Unknown version scheme #{@scheme} was requested."
+ end
+end