Sha256: b84fab8f2a484519afe4448bfdc48230803e65ba2c26487a60c65a198a54309d
Contents?: true
Size: 1.26 KB
Versions: 90
Compression:
Stored size: 1.26 KB
Contents
require 'itamae-mitsurin' module ItamaeMitsurin module Resource class Package < Base define_attribute :action, default: :install define_attribute :name, type: String, default_name: true define_attribute :version, type: String define_attribute :options, type: String def pre_action case @current_action when :install attributes.installed = true when :remove attributes.installed = false end end def set_current_attributes current.installed = run_specinfra(:check_package_is_installed, attributes.name) if current.installed current.version = run_specinfra(:get_package_version, attributes.name).stdout.strip end end def action_install(action_options) unless run_specinfra(:check_package_is_installed, attributes.name, attributes.version) run_specinfra(:install_package, attributes.name, attributes.version, attributes.options) updated! end end def action_remove(action_options) if run_specinfra(:check_package_is_installed, attributes.name, nil) run_specinfra(:remove_package, attributes.name, attributes.options) updated! end end end end end
Version data entries
90 entries across 47 versions & 1 rubygems