compat_resource 12.8.0 → 12.9.0

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: a6fd0d2ca1ca0f62f0e064d99997a276cdc3434e
4
- data.tar.gz: 7d48e84a1e2db8feee6aac0929f55b284500e6d9
3
+ metadata.gz: 1c45688963a295258e1f01af0d8aa7330b874cca
4
+ data.tar.gz: 77dc4540fab1ca49ea48fd5b682e05e7ab94bcfb
5
5
  SHA512:
6
- metadata.gz: f782d62935ed677342fa443a1c791a4b32ac13fcf0a63d671ea1fea7dc9871fe3808fe4d7ac378a08e01de0301a5ac0c99e3520f5f13a8903364f3cf7eb7acbb
7
- data.tar.gz: 631f9f2186847f5fd2bd3c95b63315def9280ed8e2dafb006f72e65a7262c480da3ff632d234012c65b27c3dd731991d33d48ea259a69ba4dd2b8e09d35e764c
6
+ metadata.gz: 4e8f74255fd8a62cd100dff05f85977a2b83594683b00128247967896e4533948fa6cdff8c05548347678bd3b0083ffb2c52151e5a1734698a5818ef7818fb30
7
+ data.tar.gz: 4a5cbcb9bad8c0edc20896791e7c0cced8ebaae9a1d39e8fcd10b5238537fddb2a503ef92bc7b67670b8bad974a21d66689a650bf65b6aa20599ac853df7618c
@@ -97,9 +97,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
97
97
  #
98
98
  def build_resource(type, name, created_at = nil, run_context: self.run_context, &resource_attrs_block)
99
99
  created_at ||= caller[0]
100
- Thread.exclusive do
101
- require "chef_compat/copied_from_chef/chef/resource_builder" unless defined?(Chef::ResourceBuilder)
102
- end
100
+ require "chef_compat/copied_from_chef/chef/resource_builder" unless defined?(Chef::ResourceBuilder)
103
101
 
104
102
  Chef::ResourceBuilder.new(
105
103
  type: type,
@@ -476,7 +476,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
476
476
  # "value nil" and to keep default stickiness working exactly the same
477
477
  # @api private
478
478
  class SetOrReturnProperty < (defined?(::Chef::Mixin::ParamsValidate::SetOrReturnProperty) ? ::Chef::Mixin::ParamsValidate::SetOrReturnProperty : Chef::Property)
479
- def get(resource)
479
+ def get(resource, nil_set: false)
480
480
  value = super
481
481
  # All values are sticky, frozen or not
482
482
  if !is_set?(resource)
@@ -488,7 +488,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
488
488
  def call(resource, value = NOT_PASSED)
489
489
  # setting to nil does a get
490
490
  if value.nil? && !explicitly_accepts_nil?(resource)
491
- get(resource)
491
+ get(resource, nil_set: true)
492
492
  else
493
493
  super
494
494
  end
@@ -106,7 +106,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
106
106
  def property(name, type = NOT_PASSED, **options)
107
107
  name = name.to_sym
108
108
 
109
- options.each { |k, v| options[k.to_sym] = v if k.is_a?(String) }
109
+ options = options.inject({}) { |memo, (key, value)| memo[key.to_sym] = value; memo }
110
110
 
111
111
  options[:instance_variable_name] = :"@#{name}" if !options.has_key?(:instance_variable_name)
112
112
  options[:name] = name
@@ -93,7 +93,7 @@ class Chef < (defined?(::Chef) ? ::Chef : Object)
93
93
  #
94
94
  def initialize(**options)
95
95
  super if defined?(::Chef::Property)
96
- options.each { |k, v| options[k.to_sym] = v; options.delete(k) if k.is_a?(String) }
96
+ options = options.inject({}) { |memo, (key, value)| memo[key.to_sym] = value; memo }
97
97
  @options = options
98
98
  options[:name] = options[:name].to_sym if options[:name]
99
99
  options[:instance_variable_name] = options[:instance_variable_name].to_sym if options[:instance_variable_name]
@@ -272,7 +272,7 @@ super if defined?(::Chef::Property)
272
272
  # In Chef 12, value(nil) does a *get* instead of a set, so we
273
273
  # warn if the value would have been changed. In Chef 13, it will be
274
274
  # equivalent to value = nil.
275
- result = get(resource)
275
+ result = get(resource, nil_set: true)
276
276
 
277
277
  # Warn about this becoming a set in Chef 13.
278
278
  begin
@@ -317,7 +317,7 @@ super if defined?(::Chef::Property)
317
317
  # @raise Chef::Exceptions::ValidationFailed If the value is invalid for
318
318
  # this property, or if the value is required and not set.
319
319
  #
320
- def get(resource)
320
+ def get(resource, nil_set: false)
321
321
  # If it's set, return it (and evaluate any lazy values)
322
322
  if is_set?(resource)
323
323
  value = get_value(resource)
@@ -341,7 +341,8 @@ super if defined?(::Chef::Property)
341
341
  #
342
342
  # It won't do what they expect. This checks whether you try to *read*
343
343
  # `content` while we are compiling the resource.
344
- if resource.respond_to?(:resource_initializing) &&
344
+ if !nil_set &&
345
+ resource.respond_to?(:resource_initializing) &&
345
346
  resource.resource_initializing &&
346
347
  resource.respond_to?(:enclosing_provider) &&
347
348
  resource.enclosing_provider &&
@@ -1,7 +1,9 @@
1
1
  require 'chef_compat/monkeypatches/chef'
2
2
  require 'chef_compat/monkeypatches/chef/log'
3
+ require 'chef_compat/monkeypatches/chef/mixin/params_validate'
3
4
  require 'chef_compat/monkeypatches/chef/recipe'
4
5
  require 'chef_compat/monkeypatches/chef/resource'
6
+ require 'chef_compat/monkeypatches/chef/property'
5
7
  require 'chef_compat/monkeypatches/chef/provider'
6
8
  require 'chef_compat/monkeypatches/chef/resource/lwrp_base'
7
9
  require 'chef_compat/monkeypatches/chef/exceptions'
@@ -0,0 +1,17 @@
1
+ if Chef::VERSION.to_f >= 12.5 && Chef::VERSION.to_f <= 12.8
2
+ require 'chef/mixin/params_validate'
3
+ class Chef
4
+ module Mixin
5
+ module ParamsValidate
6
+ class SetOrReturnProperty < Chef::Property
7
+ # 12.9 introduced a new optional parameter to `get()` to avoid a nil-set warning.
8
+ # When their method gets called with 2 args, we need to ignore and call with 1.
9
+ alias_method :_original_get2, :get
10
+ def get(resource, *args)
11
+ _original_get2(resource)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # 12.9 introduced a new optional parameter to `get()` to avoid a nil-set warning.
2
+ # We need to mimick it here.
3
+ if Chef::VERSION.to_f >= 12.5 && Chef::VERSION.to_f <= 12.8
4
+ require 'chef/property'
5
+ class Chef
6
+ class Property
7
+ # 12.9 introduced a new optional parameter to `get()` to avoid a nil-set warning.
8
+ # When their method gets called with 2 args, we need to ignore and call with 1.
9
+ alias_method :_original_get, :get
10
+ def get(resource, *args)
11
+ _original_get(resource)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module CompatResource
2
- VERSION = '12.8.0'
2
+ VERSION = '12.9.0'
3
3
  end
@@ -1,3 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
1
3
  if ENV['GEMFILE_MOD']
2
4
  instance_eval(ENV['GEMFILE_MOD'])
3
5
  else
@@ -1,23 +1,23 @@
1
- GEM
1
+ PATH
2
+ remote: /Users/jkeiser/src/chef
2
3
  specs:
3
- builder (3.2.2)
4
- chef (12.6.0)
5
- chef-config (= 12.6.0)
6
- chef-zero (~> 4.2, >= 4.2.2)
4
+ chef (12.9.0)
5
+ bundler (>= 1.10)
6
+ chef-config (= 12.9.0)
7
+ chef-zero (~> 4.5)
7
8
  diff-lcs (~> 1.2, >= 1.2.4)
8
9
  erubis (~> 2.7)
9
10
  ffi-yajl (~> 2.2)
10
11
  highline (~> 1.6, >= 1.6.9)
11
- mixlib-authentication (~> 1.3)
12
+ mixlib-authentication (~> 1.4)
12
13
  mixlib-cli (~> 1.4)
13
14
  mixlib-log (~> 1.3)
14
15
  mixlib-shellout (~> 2.0)
15
- net-ssh (~> 2.6)
16
+ net-ssh (>= 2.9, < 4.0)
16
17
  net-ssh-multi (~> 1.1)
17
18
  ohai (>= 8.6.0.alpha.1, < 9)
18
19
  plist (~> 3.1.0)
19
20
  proxifier (~> 1.0)
20
- pry (~> 0.9)
21
21
  rspec-core (~> 3.4)
22
22
  rspec-expectations (~> 3.4)
23
23
  rspec-mocks (~> 3.4)
@@ -25,16 +25,21 @@ GEM
25
25
  serverspec (~> 2.7)
26
26
  specinfra (~> 2.10)
27
27
  syslog-logger (~> 1.6)
28
- chef-config (12.6.0)
28
+ uuidtools (~> 2.1.5)
29
+ chef-config (12.9.0)
29
30
  mixlib-config (~> 2.0)
30
31
  mixlib-shellout (~> 2.0)
31
- chef-zero (4.4.2)
32
+
33
+ GEM
34
+ remote: https://rubygems.org/
35
+ specs:
36
+ builder (3.2.2)
37
+ chef-zero (4.5.0)
32
38
  ffi-yajl (~> 2.2)
33
39
  hashie (>= 2.0, < 4.0)
34
40
  mixlib-log (~> 1.3)
35
41
  rack
36
42
  uuidtools (~> 2.1)
37
- coderay (1.1.0)
38
43
  diff-lcs (1.2.5)
39
44
  erubis (2.7.0)
40
45
  ffi (1.9.10)
@@ -42,9 +47,8 @@ GEM
42
47
  libyajl2 (~> 1.2)
43
48
  hashie (3.4.3)
44
49
  highline (1.7.8)
45
- ipaddress (0.8.2)
50
+ ipaddress (0.8.3)
46
51
  libyajl2 (1.2.0)
47
- method_source (0.8.2)
48
52
  mixlib-authentication (1.4.0)
49
53
  mixlib-log
50
54
  rspec-core (~> 3.2)
@@ -53,18 +57,18 @@ GEM
53
57
  mixlib-cli (1.5.0)
54
58
  mixlib-config (2.2.1)
55
59
  mixlib-log (1.6.0)
56
- mixlib-shellout (2.2.5)
60
+ mixlib-shellout (2.2.6)
57
61
  multi_json (1.11.2)
58
62
  net-scp (1.2.1)
59
63
  net-ssh (>= 2.6.5)
60
- net-ssh (2.9.2)
64
+ net-ssh (3.0.2)
61
65
  net-ssh-gateway (1.2.0)
62
66
  net-ssh (>= 2.6.5)
63
67
  net-ssh-multi (1.2.1)
64
68
  net-ssh (>= 2.6.5)
65
69
  net-ssh-gateway (>= 1.2.0)
66
70
  net-telnet (0.1.1)
67
- ohai (8.9.0)
71
+ ohai (8.12.1)
68
72
  chef-config (>= 12.5.0.alpha.1, < 13)
69
73
  ffi (~> 1.9)
70
74
  ffi-yajl (~> 2.2)
@@ -73,22 +77,17 @@ GEM
73
77
  mixlib-config (~> 2.0)
74
78
  mixlib-log
75
79
  mixlib-shellout (~> 2.0)
76
- rake (~> 10.1)
80
+ plist
77
81
  systemu (~> 2.6.4)
78
82
  wmi-lite (~> 1.0)
79
83
  plist (3.1.0)
80
84
  proxifier (1.0.3)
81
- pry (0.10.3)
82
- coderay (~> 1.1.0)
83
- method_source (~> 0.8.1)
84
- slop (~> 3.4)
85
85
  rack (1.6.4)
86
- rake (10.5.0)
87
86
  rspec (3.4.0)
88
87
  rspec-core (~> 3.4.0)
89
88
  rspec-expectations (~> 3.4.0)
90
89
  rspec-mocks (~> 3.4.0)
91
- rspec-core (3.4.2)
90
+ rspec-core (3.4.4)
92
91
  rspec-support (~> 3.4.0)
93
92
  rspec-expectations (3.4.0)
94
93
  diff-lcs (>= 1.2.0, < 2.0)
@@ -103,14 +102,13 @@ GEM
103
102
  rspec_junit_formatter (0.2.3)
104
103
  builder (< 4)
105
104
  rspec-core (>= 2, < 4, != 2.12.0)
106
- serverspec (2.29.1)
105
+ serverspec (2.31.0)
107
106
  multi_json
108
107
  rspec (~> 3.0)
109
108
  rspec-its
110
- specinfra (~> 2.48)
109
+ specinfra (~> 2.53)
111
110
  sfl (2.2)
112
- slop (3.6.0)
113
- specinfra (2.50.3)
111
+ specinfra (2.53.1)
114
112
  net-scp
115
113
  net-ssh (>= 2.7, < 3.1)
116
114
  net-telnet
@@ -124,7 +122,7 @@ PLATFORMS
124
122
  ruby
125
123
 
126
124
  DEPENDENCIES
127
- chef
125
+ chef!
128
126
 
129
127
  BUNDLED WITH
130
128
  1.11.2
@@ -1,2 +1,3 @@
1
1
  local_mode true
2
2
  chef_repo_path File.dirname(__FILE__)
3
+ log_level :debug
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compat_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.8.0
4
+ version: 12.9.0
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-03-10 00:00:00.000000000 Z
11
+ date: 2016-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cheffish
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: stove
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: chef
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: Bring some new features of Chef 12.5 to previous 12.X releases
@@ -108,6 +108,8 @@ files:
108
108
  - files/lib/chef_compat/monkeypatches/chef.rb
109
109
  - files/lib/chef_compat/monkeypatches/chef/exceptions.rb
110
110
  - files/lib/chef_compat/monkeypatches/chef/log.rb
111
+ - files/lib/chef_compat/monkeypatches/chef/mixin/params_validate.rb
112
+ - files/lib/chef_compat/monkeypatches/chef/property.rb
111
113
  - files/lib/chef_compat/monkeypatches/chef/provider.rb
112
114
  - files/lib/chef_compat/monkeypatches/chef/recipe.rb
113
115
  - files/lib/chef_compat/monkeypatches/chef/resource.rb
@@ -154,17 +156,17 @@ require_paths:
154
156
  - files/lib
155
157
  required_ruby_version: !ruby/object:Gem::Requirement
156
158
  requirements:
157
- - - ">="
159
+ - - '>='
158
160
  - !ruby/object:Gem::Version
159
161
  version: '0'
160
162
  required_rubygems_version: !ruby/object:Gem::Requirement
161
163
  requirements:
162
- - - ">="
164
+ - - '>='
163
165
  - !ruby/object:Gem::Version
164
166
  version: '0'
165
167
  requirements: []
166
168
  rubyforge_project:
167
- rubygems_version: 2.6.1
169
+ rubygems_version: 2.5.1
168
170
  signing_key:
169
171
  specification_version: 4
170
172
  summary: Bring some new features of Chef 12.5 to previous 12.X releases