compat_resource 12.7.1 → 12.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: df6888adceb67911ef0f109a36965fd4b90b5893
4
- data.tar.gz: 142976c791c1aeb52b229d6706ef6dfc348411ed
3
+ metadata.gz: ed268da9671b0afd05e7febfabc797b8e259675d
4
+ data.tar.gz: e8eeaceb5f6707856a90c7b2c0d55549353afc5a
5
5
  SHA512:
6
- metadata.gz: 2bb80a7307a55629f9cfa319fe42cca4564ba5fbb030d927a6fafba254788b520883ca2870512c1bf5c1d4ea6be6b87689f5757db217d97d489a949255f65695
7
- data.tar.gz: a31e50b0ce19d91b80d9fe2eda606fa867d25ca3ad8df043569c45a1dd100b3bf1a4de6a3ecd855f6090932c453c3dede2aca152967a6723468eb25fcf57d452
6
+ metadata.gz: 0884d41c143edb61e2c4219f98983cbe379968d38d16a3606deba2180b9f4ee7d124d21eb2300864019b6fffb912704be6433dd813abb4be55ebad0827452fe3
7
+ data.tar.gz: 88a8398a2276ab2fcf7b4e2f69a8ddf174576a6be0171a4b3fff28d262a909d4a624af5aba361cb47f5f01061ea711bab660aa48fd48dfb3f676817646b83707
data/Rakefile CHANGED
@@ -89,6 +89,11 @@ task :update do
89
89
  chef_gem_path = Bundler.environment.specs['chef'].first.full_gem_path
90
90
  CHEF_FILES.each do |file|
91
91
  output = StringIO.new
92
+ # First lets try to load the original file if it exists
93
+ output.puts "begin"
94
+ output.puts " require '#{file}'"
95
+ output.puts "rescue LoadError; end"
96
+ output.puts ""
92
97
  # Wrap the whole thing in a ChefCompat module
93
98
  output.puts "require 'chef_compat/copied_from_chef'"
94
99
  output.puts "class Chef"
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/constants'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -24,6 +28,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
24
28
  def NOT_PASSED.to_s
25
29
  "NOT_PASSED"
26
30
  end
31
+
27
32
  def NOT_PASSED.inspect
28
33
  to_s
29
34
  end
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/delayed_evaluator'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/dsl/declare_resource'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -53,7 +57,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
53
57
  # action :delete
54
58
  # end
55
59
  #
56
- def declare_resource(type, name, created_at=nil, run_context: self.run_context, create_if_missing: false, &resource_attrs_block)
60
+ def declare_resource(type, name, created_at = nil, run_context: self.run_context, create_if_missing: false, &resource_attrs_block)
57
61
  created_at ||= caller[0]
58
62
 
59
63
  if create_if_missing
@@ -91,7 +95,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
91
95
  # action :delete
92
96
  # end
93
97
  #
94
- def build_resource(type, name, created_at=nil, run_context: self.run_context, &resource_attrs_block)
98
+ def build_resource(type, name, created_at = nil, run_context: self.run_context, &resource_attrs_block)
95
99
  created_at ||= caller[0]
96
100
  Thread.exclusive do
97
101
  require "chef_compat/copied_from_chef/chef/resource_builder" unless defined?(Chef::ResourceBuilder)
@@ -105,7 +109,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
105
109
  run_context: run_context,
106
110
  cookbook_name: cookbook_name,
107
111
  recipe_name: recipe_name,
108
- enclosing_provider: self.is_a?(Chef::Provider) ? self : nil,
112
+ enclosing_provider: self.is_a?(Chef::Provider) ? self : nil,
109
113
  ).build(&resource_attrs_block)
110
114
  end
111
115
  end
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/dsl/recipe'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/mixin/params_validate'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -146,7 +150,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
146
150
  end
147
151
 
148
152
  # Raise an exception if the parameter is not found.
149
- def _pv_required(opts, key, is_required=true, explicitly_allows_nil=false)
153
+ def _pv_required(opts, key, is_required = true, explicitly_allows_nil = false)
150
154
  if is_required
151
155
  return true if opts.has_key?(key.to_s) && (explicitly_allows_nil || !opts[key.to_s].nil?)
152
156
  return true if opts.has_key?(key.to_sym) && (explicitly_allows_nil || !opts[key.to_sym].nil?)
@@ -335,7 +339,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
335
339
  # property :x, name_property: true
336
340
  # ```
337
341
  #
338
- def _pv_name_property(opts, key, is_name_property=true)
342
+ def _pv_name_property(opts, key, is_name_property = true)
339
343
  if is_name_property
340
344
  if opts[key].nil?
341
345
  raise CannotValidateStaticallyError, "name_property cannot be evaluated without a resource." if self == Chef::Mixin::ParamsValidate
@@ -468,7 +472,6 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
468
472
  # (which is the norm).
469
473
  extend self
470
474
 
471
-
472
475
  # Used by #set_or_return to avoid emitting a deprecation warning for
473
476
  # "value nil" and to keep default stickiness working exactly the same
474
477
  # @api private
@@ -482,7 +485,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
482
485
  value
483
486
  end
484
487
 
485
- def call(resource, value=NOT_PASSED)
488
+ def call(resource, value = NOT_PASSED)
486
489
  # setting to nil does a get
487
490
  if value.nil? && !explicitly_accepts_nil?(resource)
488
491
  get(resource)
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/mixin/properties'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -24,7 +28,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
24
28
  #
25
29
  # @return [Hash<Symbol,Property>] The list of property names and types.
26
30
  #
27
- def properties(include_superclass=true)
31
+ def properties(include_superclass = true)
28
32
  if include_superclass
29
33
  result = {}
30
34
  ancestors.reverse_each { |c| result.merge!(c.properties(false)) if c.respond_to?(:properties) }
@@ -99,10 +103,10 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
99
103
  # @example With type and options
100
104
  # property :x, String, default: 'hi'
101
105
  #
102
- def property(name, type=NOT_PASSED, **options)
106
+ def property(name, type = NOT_PASSED, **options)
103
107
  name = name.to_sym
104
108
 
105
- options.each { |k,v| options[k.to_sym] = v if k.is_a?(String) }
109
+ options.each { |k, v| options[k.to_sym] = v if k.is_a?(String) }
106
110
 
107
111
  options[:instance_variable_name] = :"@#{name}" if !options.has_key?(:instance_variable_name)
108
112
  options.merge!(name: name, declared_in: self)
@@ -207,7 +211,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
207
211
 
208
212
  # If state_attrs *excludes* something which is currently desired state,
209
213
  # mark it as desired_state: false.
210
- local_properties.each do |name,property|
214
+ local_properties.each do |name, property|
211
215
  if property.desired_state? && !names.include?(name)
212
216
  self.property name, desired_state: false
213
217
  end
@@ -255,7 +259,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
255
259
 
256
260
  # If identity_properties *excludes* something which is currently part of
257
261
  # the identity, mark it as identity: false.
258
- properties.each do |name,property|
262
+ properties.each do |name, property|
259
263
  if property.identity? && !names.include?(name)
260
264
 
261
265
  self.property name, identity: false
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/property'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -89,12 +93,11 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
89
93
  #
90
94
  def initialize(**options)
91
95
  super if defined?(::Chef::Property)
92
- options.each { |k,v| options[k.to_sym] = v; options.delete(k) if k.is_a?(String) }
96
+ options.each { |k, v| options[k.to_sym] = v; options.delete(k) if k.is_a?(String) }
93
97
  @options = options
94
98
  options[:name] = options[:name].to_sym if options[:name]
95
99
  options[:instance_variable_name] = options[:instance_variable_name].to_sym if options[:instance_variable_name]
96
100
 
97
-
98
101
  # Replace name_attribute with name_property
99
102
  if options.has_key?(:name_attribute)
100
103
  # If we have both name_attribute and name_property and they differ, raise an error
@@ -102,7 +105,7 @@ super if defined?(::Chef::Property)
102
105
  raise ArgumentError, "Cannot specify both name_property and name_attribute together on property #{self}."
103
106
  end
104
107
  # replace name_property with name_attribute in place
105
- options = Hash[options.map { |k,v| k == :name_attribute ? [ :name_property, v ] : [ k,v ] }]
108
+ options = Hash[options.map { |k, v| k == :name_attribute ? [ :name_property, v ] : [ k, v ] }]
106
109
  @options = options
107
110
  end
108
111
 
@@ -235,8 +238,8 @@ super if defined?(::Chef::Property)
235
238
  # @return [Hash<Symbol,Object>]
236
239
  #
237
240
  def validation_options
238
- @validation_options ||= options.reject { |k,v|
239
- [:declared_in,:name,:instance_variable_name,:desired_state,:identity,:default,:name_property,:coerce,:required].include?(k)
241
+ @validation_options ||= options.reject { |k, v|
242
+ [:declared_in, :name, :instance_variable_name, :desired_state, :identity, :default, :name_property, :coerce, :required].include?(k)
240
243
  }
241
244
  end
242
245
 
@@ -260,7 +263,7 @@ super if defined?(::Chef::Property)
260
263
  # will be returned without running, validating or coercing. If it is a
261
264
  # `get`, the non-lazy, coerced, validated value will always be returned.
262
265
  #
263
- def call(resource, value=NOT_PASSED)
266
+ def call(resource, value = NOT_PASSED)
264
267
  if value == NOT_PASSED
265
268
  return get(resource)
266
269
  end
@@ -344,7 +347,7 @@ super if defined?(::Chef::Property)
344
347
  resource.enclosing_provider &&
345
348
  resource.enclosing_provider.new_resource &&
346
349
  resource.enclosing_provider.new_resource.respond_to?(name)
347
- Chef::Log.warn("#{Chef::Log.caller_location}: property #{name} is declared in both #{resource} and #{resource.enclosing_provider}. Use new_resource.#{name} instead. At #{Chef::Log.caller_location}")
350
+ Chef::Log.warn("#{Chef::Log.caller_location}: property #{name} is declared in both #{resource} and #{resource.enclosing_provider}. Use new_resource.#{name} instead. At #{Chef::Log.caller_location}")
348
351
  end
349
352
 
350
353
  if has_default?
@@ -491,7 +494,7 @@ super if defined?(::Chef::Property)
491
494
  if modified_options.has_key?(:name_property) ||
492
495
  modified_options.has_key?(:name_attribute) ||
493
496
  modified_options.has_key?(:default)
494
- options = options.reject { |k,v| k == :name_attribute || k == :name_property || k == :default }
497
+ options = options.reject { |k, v| k == :name_attribute || k == :name_property || k == :default }
495
498
  end
496
499
  self.class.new(options.merge(modified_options))
497
500
  end
@@ -508,7 +511,7 @@ super if defined?(::Chef::Property)
508
511
 
509
512
  # We prefer this form because the property name won't show up in the
510
513
  # stack trace if you use `define_method`.
511
- declared_in.class_eval <<-EOM, __FILE__, __LINE__+1
514
+ declared_in.class_eval <<-EOM, __FILE__, __LINE__ + 1
512
515
  def #{name}(value=NOT_PASSED)
513
516
  raise "Property #{name} of \#{self} cannot be passed a block! If you meant to create a resource named #{name} instead, you'll need to first rename the property." if block_given?
514
517
  self.class.properties[#{name.inspect}].call(self, value)
@@ -520,7 +523,7 @@ super if defined?(::Chef::Property)
520
523
  EOM
521
524
  rescue SyntaxError
522
525
  # If the name is not a valid ruby name, we use define_method.
523
- declared_in.define_method(name) do |value=NOT_PASSED, &block|
526
+ declared_in.define_method(name) do |value = NOT_PASSED, &block|
524
527
  raise "Property #{name} of #{self} cannot be passed a block! If you meant to create a resource named #{name} instead, you'll need to first rename the property." if block
525
528
  self.class.properties[name].call(self, value)
526
529
  end
@@ -579,7 +582,7 @@ super if defined?(::Chef::Property)
579
582
  # @api private
580
583
  def explicitly_accepts_nil?(resource)
581
584
  options.has_key?(:coerce) ||
582
- (options.has_key?(:is) && resource.send(:_pv_is, { name => nil }, name, options[:is], raise_error: false))
585
+ (options.has_key?(:is) && resource.send(:_pv_is, { name => nil }, name, options[:is], raise_error: false))
583
586
  end
584
587
 
585
588
  def get_value(resource)
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/provider'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/resource'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -9,7 +13,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
9
13
  class Resource < (defined?(::Chef::Resource) ? ::Chef::Resource : Object)
10
14
  include Chef::Mixin::Properties
11
15
  property :name, String, coerce: proc { |v| v.is_a?(Array) ? v.join(", ") : v.to_s }, desired_state: false
12
- def initialize(name, run_context=nil)
16
+ def initialize(name, run_context = nil)
13
17
  super if defined?(::Chef::Resource)
14
18
  name(name) unless name.nil?
15
19
  @run_context = run_context
@@ -38,7 +42,7 @@ super if defined?(::Chef::Resource)
38
42
  @elapsed_time = 0
39
43
  @sensitive = false
40
44
  end
41
- def action(arg=nil)
45
+ def action(arg = nil)
42
46
  if arg
43
47
  arg = Array(arg).map(&:to_sym)
44
48
  arg.each do |action|
@@ -89,13 +93,13 @@ super if defined?(::Chef::Resource)
89
93
  end
90
94
  safe_ivars = instance_variables.map { |ivar| ivar.to_sym } - FORBIDDEN_IVARS
91
95
  safe_ivars.each do |iv|
92
- key = iv.to_s.sub(/^@/,"").to_sym
96
+ key = iv.to_s.sub(/^@/, "").to_sym
93
97
  next if result.has_key?(key)
94
98
  result[key] = instance_variable_get(iv)
95
99
  end
96
100
  result
97
101
  end
98
- def self.identity_property(name=nil)
102
+ def self.identity_property(name = nil)
99
103
  result = identity_properties(*Array(name))
100
104
  if result.size > 1
101
105
  raise Chef::Exceptions::MultipleIdentityError, "identity_property cannot be called on an object with more than one identity property (#{result.map { |r| r.name }.join(", ")})."
@@ -103,7 +107,7 @@ super if defined?(::Chef::Resource)
103
107
  result.first
104
108
  end
105
109
  attr_accessor :allowed_actions
106
- def allowed_actions(value=NOT_PASSED)
110
+ def allowed_actions(value = NOT_PASSED)
107
111
  if value != NOT_PASSED
108
112
  self.allowed_actions = value
109
113
  end
@@ -128,7 +132,7 @@ super if defined?(::Chef::Resource)
128
132
  def self.allowed_actions=(value)
129
133
  @allowed_actions = value.uniq
130
134
  end
131
- def self.default_action(action_name=NOT_PASSED)
135
+ def self.default_action(action_name = NOT_PASSED)
132
136
  unless action_name.equal?(NOT_PASSED)
133
137
  @default_action = Array(action_name).map(&:to_sym)
134
138
  self.allowed_actions |= @default_action
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/resource/action_class'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -40,7 +44,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
40
44
  # We clear desired state in the copy, because it is supposed to be actual state.
41
45
  # We keep identity properties and non-desired-state, which are assumed to be
42
46
  # "control" values like `recurse: true`
43
- current_resource.class.properties.each do |name,property|
47
+ current_resource.class.properties.each do |name, property|
44
48
  if property.desired_state? && !property.identity? && !property.name_property?
45
49
  property.reset(current_resource)
46
50
  end
@@ -1,3 +1,7 @@
1
+ begin
2
+ require 'chef/resource_builder'
3
+ rescue LoadError; end
4
+
1
5
  require 'chef_compat/copied_from_chef'
2
6
  class Chef
3
7
  module ::ChefCompat
@@ -1,3 +1,3 @@
1
1
  module CompatResource
2
- VERSION = '12.7.1'
2
+ VERSION = '12.7.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compat_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.7.1
4
+ version: 12.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Keiser
8
8
  autorequire:
9
9
  bindir: files/bin
10
10
  cert_chain: []
11
- date: 2016-02-03 00:00:00.000000000 Z
11
+ date: 2016-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake