diff options
Diffstat (limited to 'lib/chef/server_api_versions.rb')
-rw-r--r-- | lib/chef/server_api_versions.rb | 23 |
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 |