Skip to content

Commit bb649d1

Browse files
seanmilLukasAud
authored andcommitted
Simplify SimpleProvider state selection logic
1 parent 34d001c commit bb649d1

File tree

1 file changed

+5
-16
lines changed

1 file changed

+5
-16
lines changed

lib/puppet/resource_api/simple_provider.rb

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ def set(context, changes)
2424

2525
raise 'SimpleProvider cannot be used with a Type that is not ensurable' unless context.type.ensurable?
2626

27-
is = SimpleProvider.create_absent(:name, name) if is.nil?
28-
should = SimpleProvider.create_absent(:name, name) if should.nil?
27+
is_ensure = is.nil? ? 'absent' : is[:ensure].to_s
28+
should_ensure = should.nil? ? 'absent' : should[:ensure].to_s
2929

3030
name_hash = if namevars.length > 1
3131
# pass a name_hash containing the values of all namevars
@@ -38,15 +38,15 @@ def set(context, changes)
3838
name
3939
end
4040

41-
if is[:ensure].to_s == 'absent' && should[:ensure].to_s == 'present'
41+
if is_ensure == 'absent' && should_ensure == 'present'
4242
context.creating(name) do
4343
create(context, name_hash, should)
4444
end
45-
elsif is[:ensure].to_s == 'present' && should[:ensure].to_s == 'absent'
45+
elsif is_ensure == 'present' && should_ensure == 'absent'
4646
context.deleting(name) do
4747
delete(context, name_hash)
4848
end
49-
elsif is[:ensure].to_s == 'present'
49+
elsif is_ensure == 'present'
5050
context.updating(name) do
5151
update(context, name_hash, should)
5252
end
@@ -66,17 +66,6 @@ def delete(_context, _name)
6666
raise "#{self.class} has not implemented `delete`"
6767
end
6868

69-
# @api private
70-
def self.create_absent(namevar, title)
71-
result = if title.is_a? Hash
72-
title.dup
73-
else
74-
{ namevar => title }
75-
end
76-
result[:ensure] = 'absent'
77-
result
78-
end
79-
8069
# @api private
8170
def self.build_name(namevars, resource_hash)
8271
if namevars.size > 1

0 commit comments

Comments
 (0)