aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/version/null.rb
diff options
context:
space:
mode:
authorMisty De Meo2016-11-03 16:28:16 -0700
committerMisty De Meo2016-11-10 15:08:36 -0800
commit9bac107b31f05cca65d8aab23be05e1b867bd289 (patch)
treef6e7684d7fe576b742a3d322d7426613c8aebb9b /Library/Homebrew/version/null.rb
parentc2815fbb9af4fe4518246cba7df418935fd3b711 (diff)
downloadbrew-9bac107b31f05cca65d8aab23be05e1b867bd289.tar.bz2
Add Version::NULL singleton
Diffstat (limited to 'Library/Homebrew/version/null.rb')
-rw-r--r--Library/Homebrew/version/null.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/Library/Homebrew/version/null.rb b/Library/Homebrew/version/null.rb
new file mode 100644
index 000000000..77106bcce
--- /dev/null
+++ b/Library/Homebrew/version/null.rb
@@ -0,0 +1,38 @@
+class Version
+ NULL = Class.new do
+ include Comparable
+
+ def <=>(_other)
+ -1
+ end
+
+ def eql?(_other)
+ # Makes sure that the same instance of Version::NULL
+ # will never equal itself; normally Comparable#==
+ # will return true for this regardless of the return
+ # value of #<=>
+ false
+ end
+
+ def detected_from_url?
+ false
+ end
+
+ def head?
+ false
+ end
+
+ def null?
+ true
+ end
+
+ def to_f
+ Float::NAN
+ end
+
+ def to_s
+ ""
+ end
+ alias_method :to_str, :to_s
+ end.new
+end