Class: Itamae::Resource::Package
- Inherits:
-
Base
- Object
- Base
- Itamae::Resource::Package
show all
- Defined in:
- lib/itamae/resource/package.rb
Instance Attribute Summary
Attributes inherited from Base
#attributes, #current_attributes, #notifications, #recipe, #resource_name, #subscriptions, #updated
Instance Method Summary
collapse
Methods inherited from Base
#action_nothing, define_attribute, inherited, #initialize, #resource_type, #run
Instance Method Details
#action_install(action_options) ⇒ Object
28
29
30
31
32
33
|
# File 'lib/itamae/resource/package.rb', line 28
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
|
#action_remove(action_options) ⇒ Object
35
36
37
38
39
40
|
# File 'lib/itamae/resource/package.rb', line 35
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
|
#pre_action ⇒ Object
11
12
13
14
15
16
17
18
|
# File 'lib/itamae/resource/package.rb', line 11
def pre_action
case @current_action
when :install
attributes.installed = true
when :remove
attributes.installed = false
end
end
|
#set_current_attributes ⇒ Object
20
21
22
23
24
25
26
|
# File 'lib/itamae/resource/package.rb', line 20
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
|