Sha256: 66a496cf5bf0eb5abfd89fff1f860cf10fff7b07256c5b861df793eb71f41d10

Contents?: true

Size: 977 Bytes

Versions: 39

Compression:

Stored size: 977 Bytes

Contents

require 'itamae'

module Itamae
  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
        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
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
itamae-1.1.17 lib/itamae/resource/package.rb
itamae-1.1.16 lib/itamae/resource/package.rb
itamae-1.1.15 lib/itamae/resource/package.rb
itamae-1.1.14 lib/itamae/resource/package.rb
itamae-1.1.13 lib/itamae/resource/package.rb
itamae-1.1.12 lib/itamae/resource/package.rb
itamae-1.1.11 lib/itamae/resource/package.rb
itamae-1.1.10 lib/itamae/resource/package.rb
itamae-1.1.9 lib/itamae/resource/package.rb
itamae-1.1.8 lib/itamae/resource/package.rb
itamae-1.1.7 lib/itamae/resource/package.rb
itamae-1.1.5 lib/itamae/resource/package.rb
itamae-1.1.4 lib/itamae/resource/package.rb
itamae-1.1.3 lib/itamae/resource/package.rb
itamae-1.1.2 lib/itamae/resource/package.rb
itamae-1.1.1 lib/itamae/resource/package.rb
itamae-1.1.0 lib/itamae/resource/package.rb
itamae-1.0.13 lib/itamae/resource/package.rb
itamae-1.0.11 lib/itamae/resource/package.rb
itamae-1.0.10 lib/itamae/resource/package.rb