summaryrefslogtreecommitdiff
path: root/lib/chef/server_api_versions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef/server_api_versions.rb')
-rw-r--r--lib/chef/server_api_versions.rb23
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/chef/server_api_versions.rb b/lib/chef/server_api_versions.rb
index 2a4d0e6a5b..40fb6385e1 100644
--- a/lib/chef/server_api_versions.rb
+++ b/lib/chef/server_api_versions.rb
@@ -26,15 +26,34 @@ class Chef
end
def min_server_version
- !@versions.nil? ? Integer(@versions["min_version"]) : nil
+ # If we're working with a pre-api-versioning server, always claim to be zero
+ if @versions.nil?
+ unversioned? ? 0 : nil
+ else
+ Integer(@versions["min_version"])
+ end
end
def max_server_version
- !@versions.nil? ? Integer(@versions["max_version"]) : nil
+ # If we're working with a pre-api-versioning server, always claim to be zero
+ if @versions.nil?
+ unversioned? ? 0 : nil
+ else
+ Integer(@versions["max_version"])
+ end
+ end
+
+ def unversioned!
+ @unversioned = true
+ end
+
+ def unversioned?
+ @unversioned
end
def reset!
@versions = nil
+ @unversioned = false
end
end
end