summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManick Vel <mkumaravel@msystechnologies.com>2022-02-01 17:05:15 +0530
committerpratixha <pratiksha.prajapati@msystechnologies.com>2022-05-25 12:13:23 +0530
commit6e436a9bdb93cf547e64a461342266c665508b77 (patch)
tree6c29f47e222795419475f5578a2fb6cc0b8e595a
parent0cf7c2a8a50902d3401ead52892d2989dd303ded (diff)
downloadchef-6e436a9bdb93cf547e64a461342266c665508b77.tar.gz
Added helper version class for zypper
Signed-off-by: Manick Vel <mkumaravel@msystechnologies.com>
-rw-r--r--lib/chef/provider/package/zypper/version.rb60
1 files changed, 60 insertions, 0 deletions
diff --git a/lib/chef/provider/package/zypper/version.rb b/lib/chef/provider/package/zypper/version.rb
new file mode 100644
index 0000000000..8c430c9d66
--- /dev/null
+++ b/lib/chef/provider/package/zypper/version.rb
@@ -0,0 +1,60 @@
+#
+# Copyright:: Copyright (c) Chef Software Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+class Chef
+ class Provider
+ class Package
+ class Zypper < Chef::Provider::Package
+
+ # helper class to assist in passing around name/version/arch triples
+ class Version
+ attr_accessor :name
+ attr_accessor :version
+ attr_accessor :arch
+
+ def initialize(name, version, arch)
+ @name = name
+ @version = version
+ @arch = arch
+ end
+
+ def to_s
+ "#{name}-#{version}.#{arch}" unless version.nil?
+ end
+
+ def version_with_arch
+ "#{version}.#{arch}" unless version.nil?
+ end
+
+ def name_with_arch
+ "#{name}.#{arch}" unless name.nil?
+ end
+
+ def matches_name_and_arch?(other)
+ other.version == version && other.arch == arch
+ end
+
+ def ==(other)
+ name == other.name && version == other.version && arch == other.arch
+ end
+
+ alias eql? ==
+ end
+ end
+ end
+ end
+end