@@ -32,56 +32,56 @@ def whyrun_supported?
32
32
33
33
action :install do
34
34
# If we specified a version, and it's not the current version, move to the specified version
35
- if @ new_resource. version != nil && @ new_resource. version != @ current_resource. version
36
- install_version = @ new_resource. version
35
+ if new_resource . version != nil && new_resource . version != current_resource . version
36
+ install_version = new_resource . version
37
37
# If it's not installed at all, install it
38
- elsif @ current_resource. version == nil
38
+ elsif current_resource . version == nil
39
39
install_version = candidate_version
40
40
end
41
41
42
42
if install_version
43
- description = "install package #{ @ new_resource} version #{ install_version } "
43
+ description = "install package #{ new_resource } version #{ install_version } "
44
44
converge_by ( description ) do
45
- Chef ::Log . info ( "Installing #{ @ new_resource} version #{ install_version } " )
45
+ Chef ::Log . info ( "Installing #{ new_resource } version #{ install_version } " )
46
46
status = install_package ( install_version )
47
47
if status
48
- @ new_resource. updated_by_last_action ( true )
48
+ new_resource . updated_by_last_action ( true )
49
49
end
50
50
end
51
51
end
52
52
end
53
53
54
54
action :upgrade do
55
- if @ current_resource. version != candidate_version
56
- orig_version = @ current_resource. version || "uninstalled"
57
- description = "upgrade #{ @ current_resource} version from #{ @ current_resource. version } to #{ candidate_version } "
55
+ if current_resource . version != candidate_version
56
+ orig_version = current_resource . version || "uninstalled"
57
+ description = "upgrade #{ current_resource } version from #{ current_resource . version } to #{ candidate_version } "
58
58
converge_by ( description ) do
59
- Chef ::Log . info ( "Upgrading #{ @ new_resource} version from #{ orig_version } to #{ candidate_version } " )
59
+ Chef ::Log . info ( "Upgrading #{ new_resource } version from #{ orig_version } to #{ candidate_version } " )
60
60
status = upgrade_package ( candidate_version )
61
61
if status
62
- @ new_resource. updated_by_last_action ( true )
62
+ new_resource . updated_by_last_action ( true )
63
63
end
64
64
end
65
65
end
66
66
end
67
67
68
68
action :remove do
69
69
if removing_package?
70
- description = "remove package #{ @ new_resource} "
70
+ description = "remove package #{ new_resource } "
71
71
converge_by ( description ) do
72
- Chef ::Log . info ( "Removing #{ @ new_resource} " )
73
- remove_package ( @ new_resource. version )
74
- @ new_resource. updated_by_last_action ( true )
72
+ Chef ::Log . info ( "Removing #{ new_resource } " )
73
+ remove_package ( new_resource . version )
74
+ new_resource . updated_by_last_action ( true )
75
75
end
76
76
end
77
77
end
78
78
79
79
def removing_package?
80
- if @ current_resource. version . nil?
80
+ if current_resource . version . nil?
81
81
false # nothing to remove
82
- elsif @ new_resource. version . nil?
82
+ elsif new_resource . version . nil?
83
83
true # remove any version of a package
84
- elsif @ new_resource. version == @ current_resource. version
84
+ elsif new_resource . version == current_resource . version
85
85
true # remove the version we have
86
86
else
87
87
false # we don't have the version we want to remove
@@ -93,8 +93,8 @@ def removing_package?
93
93
# so refactoring into core Chef should be easy
94
94
95
95
def load_current_resource
96
- @current_resource = Chef ::Resource ::PythonPip . new ( @ new_resource. name )
97
- @current_resource . package_name ( @ new_resource. package_name )
96
+ @current_resource = Chef ::Resource ::PythonPip . new ( new_resource . name )
97
+ @current_resource . package_name ( new_resource . package_name )
98
98
@current_resource . version ( nil )
99
99
100
100
unless current_installed_version . nil?
@@ -108,9 +108,9 @@ def current_installed_version
108
108
@current_installed_version ||= begin
109
109
delimeter = /==/
110
110
111
- version_check_cmd = "#{ which_pip ( @ new_resource) } freeze | grep -i '^#{ @ new_resource. package_name } =='"
111
+ version_check_cmd = "#{ which_pip ( new_resource ) } freeze | grep -i '^#{ new_resource . package_name } =='"
112
112
# incase you upgrade pip with pip!
113
- if @ new_resource. package_name . eql? ( 'pip' )
113
+ if new_resource . package_name . eql? ( 'pip' )
114
114
delimeter = /\s /
115
115
version_check_cmd = "pip --version"
116
116
end
@@ -126,14 +126,14 @@ def candidate_version
126
126
# `pip search` doesn't return versions yet
127
127
# `pip list` may be coming soon:
128
128
# https://bitbucket.org/ianb/pip/issue/197/option-to-show-what-version-would-be
129
- @ new_resource. version ||'latest'
129
+ new_resource . version ||'latest'
130
130
end
131
131
end
132
132
133
133
def install_package ( version )
134
134
# if a version isn't specified (latest), is a source archive (ex. http://my.package.repo/SomePackage-1.0.4.zip),
135
135
# or from a VCS (ex. git+https://git.repo/some_pkg.git) then do not append a version as this will break the source link
136
- if version == 'latest' || @ new_resource. name . downcase . start_with? ( 'http:' , 'https:' ) || [ 'git' , 'hg' , 'svn' ] . include? ( @ new_resource. name . downcase . split ( '+' ) [ 0 ] )
136
+ if version == 'latest' || new_resource . name . downcase . start_with? ( 'http:' , 'https:' ) || [ 'git' , 'hg' , 'svn' ] . include? ( new_resource . name . downcase . split ( '+' ) [ 0 ] )
137
137
version = ''
138
138
else
139
139
version = "==#{ version } "
@@ -142,19 +142,19 @@ def install_package(version)
142
142
end
143
143
144
144
def upgrade_package ( version )
145
- @ new_resource. options "#{ @ new_resource. options } --upgrade"
145
+ new_resource . options "#{ new_resource . options } --upgrade"
146
146
install_package ( version )
147
147
end
148
148
149
149
def remove_package ( version )
150
- @ new_resource. options "#{ @ new_resource. options } --yes"
150
+ new_resource . options "#{ new_resource . options } --yes"
151
151
pip_cmd ( 'uninstall' )
152
152
end
153
153
154
154
def pip_cmd ( subcommand , version = '' )
155
- options = { :timeout => @ new_resource. timeout , :user => @ new_resource. user , :group => @ new_resource. group }
156
- options [ :environment ] = { 'HOME' => ::File . expand_path ( "~#{ @ new_resource. user } " ) } if @ new_resource. user
157
- shell_out! ( "#{ which_pip ( @ new_resource) } #{ subcommand } #{ @ new_resource. options } #{ @ new_resource. name } #{ version } " , options )
155
+ options = { :timeout => new_resource . timeout , :user => new_resource . user , :group => new_resource . group }
156
+ options [ :environment ] = { 'HOME' => ::File . expand_path ( "~#{ new_resource . user } " ) } if new_resource . user
157
+ shell_out! ( "#{ which_pip ( new_resource ) } #{ subcommand } #{ new_resource . options } #{ new_resource . name } #{ version } " , options )
158
158
end
159
159
160
160
# TODO remove when provider is moved into Chef core
0 commit comments