cheffish 14.0.1 → 14.0.4

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +20 -1
  3. data/Rakefile +27 -32
  4. data/cheffish.gemspec +4 -4
  5. data/lib/chef/resource/chef_acl.rb +4 -4
  6. data/lib/chef/resource/chef_data_bag_item.rb +4 -4
  7. data/lib/chef/resource/chef_mirror.rb +10 -10
  8. data/lib/chef/resource/chef_organization.rb +2 -2
  9. data/lib/chef/resource/chef_resolved_cookbooks.rb +7 -7
  10. data/lib/chef/resource/chef_user.rb +3 -3
  11. data/lib/chef/resource/private_key.rb +3 -3
  12. data/lib/chef/resource/public_key.rb +2 -2
  13. data/lib/cheffish.rb +7 -7
  14. data/lib/cheffish/base_resource.rb +1 -1
  15. data/lib/cheffish/basic_chef_client.rb +1 -2
  16. data/lib/cheffish/chef_actor_base.rb +6 -6
  17. data/lib/cheffish/chef_run.rb +2 -2
  18. data/lib/cheffish/key_formatter.rb +1 -1
  19. data/lib/cheffish/merged_config.rb +1 -1
  20. data/lib/cheffish/node_properties.rb +1 -1
  21. data/lib/cheffish/recipe_dsl.rb +2 -2
  22. data/lib/cheffish/rspec/chef_run_support.rb +3 -3
  23. data/lib/cheffish/rspec/matchers/have_updated.rb +2 -2
  24. data/lib/cheffish/version.rb +1 -1
  25. data/spec/functional/fingerprint_spec.rb +27 -27
  26. data/spec/functional/merged_config_spec.rb +9 -9
  27. data/spec/functional/server_api_spec.rb +1 -1
  28. data/spec/integration/chef_acl_spec.rb +16 -18
  29. data/spec/integration/chef_client_spec.rb +3 -3
  30. data/spec/integration/chef_mirror_spec.rb +16 -16
  31. data/spec/integration/chef_node_spec.rb +4 -4
  32. data/spec/integration/chef_role_spec.rb +2 -2
  33. data/spec/integration/chef_user_spec.rb +3 -3
  34. data/spec/integration/private_key_spec.rb +2 -2
  35. data/spec/integration/recipe_dsl_spec.rb +2 -2
  36. data/spec/support/key_support.rb +4 -4
  37. data/spec/support/spec_support.rb +1 -1
  38. data/spec/unit/get_private_key_spec.rb +6 -6
  39. metadata +6 -8
  40. data/README.md +0 -120
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b322f6c35d8de419ca2d82d4b6314d6611ea8fc1f3713a0dd2a226d805f9cf32
4
- data.tar.gz: e9f224665c4aa7c477310f58873db64f785c2ea57550cd0c2a78b1ac9239c9cc
3
+ metadata.gz: b546acb84203496cb2e896764aaaf437971b8fc1e45f62d561ab263ee78e2fea
4
+ data.tar.gz: 96d154e73378a8c2008117c1b50e4eb1077cd43db9bc1748a702dccd08e1ddb6
5
5
  SHA512:
6
- metadata.gz: 79ff38ae7d3a5739e5a8d1464758899156c6d8282713d6c5a22cb18e3fd0229a58f69c3db4d7588b2f57585b0ab555a2314850f9b0f61fa868f4ec2426266bd7
7
- data.tar.gz: fbaf1722dd64857f8da5946f4b61a7249370113f34b98cf63802513dd6f30bf12d37e27ebe777cf78d428402043fa0a01281487b9daf57de4e857d7348258dc9
6
+ metadata.gz: 6c34534a52657f87d803ea12a629c76c3f6ae9a10e7cc982640ac4162c4db683bf0ebcae3860381f80f34eb08b8cde880faa368ffbe84b6946160ccdc0d62913
7
+ data.tar.gz: 380ffbe2f90d104b9a60820498452c1d8e496a603b8dcc17ef1218ffc7f34d231fdb3fffdc103410ff08b51e90d08d3e85ae5e3c98385a470e33b18902fc5852
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "https://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  group :development do
6
- gem "chefstyle", "= 0.6.0"
6
+ gem "chefstyle", git: "https://github.com/chef/chefstyle.git", branch: "master"
7
7
  gem "rake"
8
8
  gem "rspec", "~> 3.0"
9
9
  end
@@ -18,3 +18,22 @@ else
18
18
  gem "ohai", "~> 14"
19
19
  end
20
20
  end
21
+
22
+ group :docs do
23
+ gem "yard"
24
+ gem "redcarpet"
25
+ gem "github-markup"
26
+ end
27
+
28
+ group :debug do
29
+ gem "pry"
30
+ gem "pry-byebug"
31
+ gem "pry-stack_explorer"
32
+ gem "rb-readline"
33
+ end
34
+
35
+ instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"]
36
+
37
+ # If you want to load debugging tools into the bundle exec sandbox,
38
+ # add these additional dependencies into Gemfile.local
39
+ eval_gemfile(__FILE__ + ".local") if File.exist?(__FILE__ + ".local")
data/Rakefile CHANGED
@@ -1,47 +1,42 @@
1
- require "bundler"
2
- require "rubygems"
3
- require "rubygems/package_task"
4
- require "rdoc/task"
5
- require "rspec/core/rake_task"
6
-
7
- Bundler::GemHelper.install_tasks
8
-
9
- task :default => :spec
10
-
11
- desc "Run specs"
12
- RSpec::Core::RakeTask.new(:spec) do |spec|
13
- spec.pattern = "spec/**/*_spec.rb"
14
- end
15
-
16
- gem_spec = eval(File.read("cheffish.gemspec"))
17
-
18
- RDoc::Task.new do |rdoc|
19
- rdoc.rdoc_dir = "rdoc"
20
- rdoc.title = "cheffish #{gem_spec.version}"
21
- rdoc.rdoc_files.include("README*")
22
- rdoc.rdoc_files.include("lib/**/*.rb")
23
- end
1
+ require "bundler/gem_tasks"
24
2
 
25
3
  begin
26
- require "github_changelog_generator/task"
4
+ require "rspec/core/rake_task"
27
5
 
28
- GitHubChangelogGenerator::RakeTask.new :changelog do |config|
29
- require "cheffish/version"
30
- config.future_release = Cheffish::VERSION
31
- config.enhancement_labels = "enhancement,Enhancement,Improvement,New Feature,Feature".split(",")
32
- config.bug_labels = "bug,Bug,Upstream Bug".split(",")
33
- config.exclude_labels = "duplicate,question,invalid,wontfix,no_changelog,Exclude From Changelog,Question,Discussion".split(",")
34
- config.issues = false
6
+ RSpec::Core::RakeTask.new do |t|
7
+ t.pattern = "spec/**/*_spec.rb"
35
8
  end
36
9
  rescue LoadError
10
+ desc "rspec is not installed, this task is disabled"
11
+ task :spec do
12
+ abort "rspec is not installed. bundle install first to make sure all dependencies are installed."
13
+ end
37
14
  end
38
15
 
39
16
  begin
40
17
  require "chefstyle"
41
18
  require "rubocop/rake_task"
19
+ desc "Run Chefstyle tests"
42
20
  RuboCop::RakeTask.new(:style) do |task|
43
21
  task.options += ["--display-cop-names", "--no-color"]
44
22
  end
45
23
  rescue LoadError
46
- puts "chefstyle/rubocop is not available."
24
+ puts "chefstyle gem is not installed. bundle install first to make sure all dependencies are installed."
47
25
  end
26
+
27
+ begin
28
+ require "yard"
29
+ YARD::Rake::YardocTask.new(:docs)
30
+ rescue LoadError
31
+ puts "yard is not available. bundle install first to make sure all dependencies are installed."
32
+ end
33
+
34
+ task :console do
35
+ require "irb"
36
+ require "irb/completion"
37
+ require "cheffish"
38
+ ARGV.clear
39
+ IRB.start
40
+ end
41
+
42
+ task default: [:style, :spec]
@@ -5,12 +5,12 @@ Gem::Specification.new do |s|
5
5
  s.name = "cheffish"
6
6
  s.version = Cheffish::VERSION
7
7
  s.platform = Gem::Platform::RUBY
8
- s.extra_rdoc_files = [ "README.md", "LICENSE" ]
8
+ s.license = "Apache-2.0"
9
9
  s.summary = "A library to manipulate Chef in Chef."
10
10
  s.description = s.summary
11
11
  s.author = "John Keiser"
12
12
  s.email = "jkeiser@chef.io"
13
- s.homepage = "http://github.com/chef/cheffish"
13
+ s.homepage = "https://github.com/chef/cheffish"
14
14
 
15
15
  s.required_ruby_version = ">= 2.4.0"
16
16
 
@@ -21,6 +21,6 @@ Gem::Specification.new do |s|
21
21
  s.executables = %w{ }
22
22
 
23
23
  s.require_path = "lib"
24
- s.files = %w{Gemfile Rakefile LICENSE README.md} + Dir.glob("*.gemspec") +
25
- Dir.glob("{distro,lib,tasks,spec}/**/*", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
24
+ s.files = %w{Gemfile Rakefile LICENSE} + Dir.glob("*.gemspec") +
25
+ Dir.glob("{lib,spec}/**/*", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
26
26
  end
@@ -124,7 +124,7 @@ class Chef
124
124
  # If recurse is on_change, then we will recurse if there is no ACL, or if
125
125
  # the ACL has changed.
126
126
  if new_resource.recursive == true || (new_resource.recursive == :on_change && (!acl || changed))
127
- children, error = list(path, "*")
127
+ children, _error = list(path, "*")
128
128
  Chef::ChefFS::Parallelizer.parallel_do(children) do |child|
129
129
  next if child.split("/")[-1] == "containers"
130
130
  create_acl(child)
@@ -141,7 +141,7 @@ class Chef
141
141
  # Get the current ACL for the given path
142
142
  def current_acl(acl_path)
143
143
  @current_acls ||= {}
144
- if !@current_acls.has_key?(acl_path)
144
+ if !@current_acls.key?(acl_path)
145
145
  @current_acls[acl_path] = begin
146
146
  rest.get(rest_url(acl_path))
147
147
  rescue Net::HTTPServerException => e
@@ -299,8 +299,8 @@ class Chef
299
299
  #
300
300
  # Result: /*/foo = [ '/organizations/foo', '/users/foo' ]
301
301
  #
302
- matches = Chef::ChefFS::Parallelizer.parallelize(matches) do |path|
303
- found, error = list(path, part)
302
+ matches = Chef::ChefFS::Parallelizer.parallelize(matches) do |pth|
303
+ found, error = list(pth, part)
304
304
  if error
305
305
  if parts[0..index - 1].all? { |p| p != "*" }
306
306
  raise error
@@ -112,12 +112,12 @@ class Chef
112
112
  end
113
113
 
114
114
  # Determine if data bag is encrypted and if so, what its version is
115
- first_real_key, first_real_value = (current_resource.raw_data || {}).select { |key, value| key != "id" && !value.nil? }.first
115
+ _first_real_key, first_real_value = (current_resource.raw_data || {}).select { |key, value| key != "id" && !value.nil? }.first
116
116
  if first_real_value
117
117
  if first_real_value.is_a?(Hash) &&
118
118
  first_real_value["version"].is_a?(Integer) &&
119
119
  first_real_value["version"] > 0 &&
120
- first_real_value.has_key?("encrypted_data")
120
+ first_real_value.key?("encrypted_data")
121
121
 
122
122
  current_resource.encrypt true
123
123
  current_resource.encryption_version first_real_value["version"]
@@ -232,7 +232,7 @@ class Chef
232
232
  result = current_decrypted.merge(new_resource.raw_data || {})
233
233
  end
234
234
  result["id"] = new_resource.id
235
- result = apply_modifiers(new_resource.raw_data_modifiers, result)
235
+ _result = apply_modifiers(new_resource.raw_data_modifiers, result)
236
236
  end
237
237
  end
238
238
 
@@ -283,7 +283,7 @@ class Chef
283
283
  if !new_resource.complete
284
284
  raise "Cannot encrypt #{new_resource.name} due to failure to decrypt existing resource. Set 'complete true' to overwrite or add the old secret as old_secret / old_secret_path."
285
285
  end
286
- differences = [ "overwrite data bag item (cannot decrypt old data bag item)"]
286
+ _differences = [ "overwrite data bag item (cannot decrypt old data bag item)"]
287
287
  differences = (new_resource.raw_data.keys & current_resource.raw_data.keys).map { |key| "overwrite #{key}" }
288
288
  differences += (new_resource.raw_data.keys - current_resource.raw_data.keys).map { |key| "add #{key}" }
289
289
  differences += (current_resource.raw_data.keys - new_resource.raw_data.keys).map { |key| "remove #{key}" }
@@ -45,7 +45,7 @@ class Chef
45
45
  set_or_return(
46
46
  :freeze_on_upload,
47
47
  arg,
48
- :kind_of => Boolean
48
+ kind_of: Boolean
49
49
  )
50
50
  end
51
51
 
@@ -153,11 +153,11 @@ class Chef
153
153
 
154
154
  def remote_fs
155
155
  config = {
156
- :chef_server_url => new_resource.chef_server[:chef_server_url],
157
- :node_name => new_resource.chef_server[:options][:client_name],
158
- :client_key => new_resource.chef_server[:options][:signing_key_filename],
159
- :repo_mode => repo_mode,
160
- :versioned_cookbooks => Chef::Config.versioned_cookbooks,
156
+ chef_server_url: new_resource.chef_server[:chef_server_url],
157
+ node_name: new_resource.chef_server[:options][:client_name],
158
+ client_key: new_resource.chef_server[:options][:signing_key_filename],
159
+ repo_mode: repo_mode,
160
+ versioned_cookbooks: Chef::Config.versioned_cookbooks,
161
161
  }
162
162
  Chef::ChefFS::FileSystem::ChefServer::ChefServerRootDir.new("remote", config)
163
163
  end
@@ -168,10 +168,10 @@ class Chef
168
168
 
169
169
  def options
170
170
  result = {
171
- :purge => new_resource.purge,
172
- :freeze => new_resource.freeze_on_upload,
173
- :diff => new_resource.no_diff,
174
- :dry_run => whyrun_mode?,
171
+ purge: new_resource.purge,
172
+ freeze: new_resource.freeze_on_upload,
173
+ diff: new_resource.no_diff,
174
+ dry_run: whyrun_mode?,
175
175
  }
176
176
  result[:diff] = !result[:diff]
177
177
  result[:repo_mode] = repo_mode
@@ -45,7 +45,7 @@ class Chef
45
45
 
46
46
  # Revoke invites and memberships when asked
47
47
  invites_to_remove.each do |user|
48
- if outstanding_invites.has_key?(user)
48
+ if outstanding_invites.key?(user)
49
49
  converge_by "revoke #{user}'s invitation to organization #{new_resource.organization_name}" do
50
50
  rest.delete("#{rest.root_url}/organizations/#{new_resource.organization_name}/association_requests/#{outstanding_invites[user]}")
51
51
  end
@@ -61,7 +61,7 @@ class Chef
61
61
 
62
62
  # Invite and add members when asked
63
63
  new_resource.invites.each do |user|
64
- if !existing_members.include?(user) && !outstanding_invites.has_key?(user)
64
+ if !existing_members.include?(user) && !outstanding_invites.key?(user)
65
65
  converge_by "invite #{user} to organization #{new_resource.organization_name}" do
66
66
  rest.post("#{rest.root_url}/organizations/#{new_resource.organization_name}/association_requests", { "user" => user })
67
67
  end
@@ -31,7 +31,7 @@ class Chef
31
31
  new_resource.cookbooks_from.each do |path|
32
32
  ::Dir.entries(path).each do |name|
33
33
  if ::File.directory?(::File.join(path, name)) && name != "." && name != ".."
34
- new_resource.berksfile.cookbook name, :path => ::File.join(path, name)
34
+ new_resource.berksfile.cookbook name, path: ::File.join(path, name)
35
35
  end
36
36
  end
37
37
  end
@@ -41,9 +41,9 @@ class Chef
41
41
  # Ridley really really wants a key :/
42
42
  if new_resource.chef_server[:options][:signing_key_filename]
43
43
  new_resource.berksfile.upload(
44
- :server_url => new_resource.chef_server[:chef_server_url],
45
- :client_name => new_resource.chef_server[:options][:client_name],
46
- :client_key => new_resource.chef_server[:options][:signing_key_filename])
44
+ server_url: new_resource.chef_server[:chef_server_url],
45
+ client_name: new_resource.chef_server[:options][:client_name],
46
+ client_key: new_resource.chef_server[:options][:signing_key_filename])
47
47
  else
48
48
  file = Tempfile.new("privatekey")
49
49
  begin
@@ -51,9 +51,9 @@ class Chef
51
51
  file.close
52
52
 
53
53
  new_resource.berksfile.upload(
54
- :server_url => new_resource.chef_server[:chef_server_url],
55
- :client_name => new_resource.chef_server[:options][:client_name] || "me",
56
- :client_key => file.path)
54
+ server_url: new_resource.chef_server[:chef_server_url],
55
+ client_name: new_resource.chef_server[:options][:client_name] || "me",
56
+ client_key: file.path)
57
57
 
58
58
  ensure
59
59
  file.close
@@ -14,9 +14,9 @@ class Chef
14
14
  property :external_authentication_uid
15
15
  property :recovery_authentication_enabled, Boolean
16
16
  property :password, String # Hmm. There is no way to idempotentize this.
17
- #property :salt # TODO server doesn't support sending or receiving these, but it's the only way to backup / restore a user
18
- #property :hashed_password
19
- #property :hash_type
17
+ # property :salt # TODO server doesn't support sending or receiving these, but it's the only way to backup / restore a user
18
+ # property :hashed_password
19
+ # property :hash_type
20
20
 
21
21
  # Input key
22
22
  property :source_key # String or OpenSSL::PKey::*
@@ -31,7 +31,7 @@ class Chef
31
31
 
32
32
  # PEM-only
33
33
  property :pass_phrase, String
34
- property :cipher, OpenSSL::Cipher.ciphers, default: "DES-EDE3-CBC"
34
+ property :cipher, String, equal_to: OpenSSL::Cipher.ciphers.map { |x| x.downcase }, default: "des-ede3-cbc", coerce: proc { |x| x.downcase }
35
35
 
36
36
  # Set this to regenerate the key if it does not have the desired characteristics (like size, type, etc.)
37
37
  property :regenerate_if_different, Boolean
@@ -180,12 +180,12 @@ class Chef
180
180
  def new_source_key
181
181
  @new_source_key ||= begin
182
182
  if new_resource.source_key.is_a?(String)
183
- source_key, source_key_format = Cheffish::KeyFormatter.decode(new_resource.source_key, new_resource.source_key_pass_phrase)
183
+ source_key, _source_key_format = Cheffish::KeyFormatter.decode(new_resource.source_key, new_resource.source_key_pass_phrase)
184
184
  source_key
185
185
  elsif new_resource.source_key
186
186
  new_resource.source_key
187
187
  elsif new_resource.source_key_path
188
- source_key, source_key_format = Cheffish::KeyFormatter.decode(IO.read(new_resource.source_key_path), new_resource.source_key_pass_phrase, new_resource.source_key_path)
188
+ source_key, _source_key_format = Cheffish::KeyFormatter.decode(IO.read(new_resource.source_key_path), new_resource.source_key_pass_phrase, new_resource.source_key_path)
189
189
  source_key
190
190
  else
191
191
  nil
@@ -57,11 +57,11 @@ class Chef
57
57
  def new_source_key
58
58
  @new_source_key ||= begin
59
59
  if new_resource.source_key.is_a?(String)
60
- source_key, source_key_format = Cheffish::KeyFormatter.decode(new_resource.source_key, new_resource.source_key_pass_phrase)
60
+ source_key, _source_key_format = Cheffish::KeyFormatter.decode(new_resource.source_key, new_resource.source_key_pass_phrase)
61
61
  elsif new_resource.source_key
62
62
  source_key = new_resource.source_key
63
63
  elsif new_resource.source_key_path
64
- source_key, source_key_format = Cheffish::KeyFormatter.decode(IO.read(new_resource.source_key_path), new_resource.source_key_pass_phrase, new_resource.source_key_path)
64
+ source_key, _source_key_format = Cheffish::KeyFormatter.decode(IO.read(new_resource.source_key_path), new_resource.source_key_pass_phrase, new_resource.source_key_path)
65
65
  else
66
66
  return nil
67
67
  end
@@ -7,10 +7,10 @@ module Cheffish
7
7
 
8
8
  def self.default_chef_server(config = profiled_config)
9
9
  {
10
- :chef_server_url => config[:chef_server_url],
11
- :options => {
12
- :client_name => config[:node_name],
13
- :signing_key_filename => config[:client_key],
10
+ chef_server_url: config[:chef_server_url],
11
+ options: {
12
+ client_name: config[:node_name],
13
+ signing_key_filename: config[:client_key],
14
14
  },
15
15
  }
16
16
  end
@@ -58,10 +58,10 @@ module Cheffish
58
58
  end
59
59
 
60
60
  def self.honor_local_mode(local_mode_default = true, &block)
61
- if !Chef::Config.has_key?(:local_mode) && !local_mode_default.nil?
61
+ if !Chef::Config.key?(:local_mode) && !local_mode_default.nil?
62
62
  Chef::Config.local_mode = local_mode_default
63
63
  end
64
- if Chef::Config.local_mode && !Chef::Config.has_key?(:cookbook_path) && !Chef::Config.has_key?(:chef_repo_path)
64
+ if Chef::Config.local_mode && !Chef::Config.key?(:cookbook_path) && !Chef::Config.key?(:chef_repo_path)
65
65
  Chef::Config.chef_repo_path = Chef::Config.find_chef_repo_path(Dir.pwd)
66
66
  end
67
67
  begin
@@ -81,7 +81,7 @@ module Cheffish
81
81
  end
82
82
 
83
83
  def self.get_private_key(name, config = profiled_config)
84
- key, key_path = get_private_key_with_path(name, config)
84
+ key, _key_path = get_private_key_with_path(name, config)
85
85
  key
86
86
  end
87
87
 
@@ -94,7 +94,7 @@ module Cheffish
94
94
  if old_json.kind_of?(Hash) && new_json.kind_of?(Hash)
95
95
  removed_keys = old_json.keys.inject({}) { |hash, key| hash[key] = true; hash }
96
96
  new_json.each_pair do |new_key, new_value|
97
- if old_json.has_key?(new_key)
97
+ if old_json.key?(new_key)
98
98
  removed_keys.delete(new_key)
99
99
  if new_value != old_json[new_key]
100
100
  json_differences_internal(old_json[new_key], new_value, print_values, name == "" ? new_key : "#{name}.#{new_key}", result)
@@ -29,10 +29,9 @@ module Cheffish
29
29
  @event_catcher = BasicChefClientEvents.new
30
30
  dispatcher = Chef::EventDispatch::Dispatcher.new(@event_catcher)
31
31
  case events
32
- when nil
33
32
  when Array
34
33
  events.each { |e| dispatcher.register(e) } if events
35
- else
34
+ when !nil
36
35
  dispatcher.register(events)
37
36
  end
38
37
  @run_context = Chef::RunContext.new(node, {}, dispatcher)
@@ -19,7 +19,7 @@ module Cheffish
19
19
  description = [ "update #{actor_type} #{new_resource.name} at #{actor_path}" ] + differences
20
20
  converge_by description do
21
21
  result = rest.put("#{actor_path}/#{new_resource.name}", normalize_for_put(new_json))
22
- current_public_key, current_public_key_format = Cheffish::KeyFormatter.decode(result["public_key"]) if result["public_key"]
22
+ current_public_key, _current_public_key_format = Cheffish::KeyFormatter.decode(result["public_key"]) if result["public_key"]
23
23
  end
24
24
  end
25
25
  else
@@ -29,15 +29,15 @@ module Cheffish
29
29
  end
30
30
  description = [ "create #{actor_type} #{new_resource.name} at #{actor_path}" ] + differences
31
31
  converge_by description do
32
- result = rest.post("#{actor_path}", normalize_for_post(new_json))
33
- current_public_key, current_public_key_format = Cheffish::KeyFormatter.decode(result["public_key"]) if result["public_key"]
32
+ result = rest.post((actor_path).to_s, normalize_for_post(new_json))
33
+ current_public_key, _current_public_key_format = Cheffish::KeyFormatter.decode(result["public_key"]) if result["public_key"]
34
34
  end
35
35
  end
36
36
 
37
37
  # Write out the public key
38
38
  if new_resource.output_key_path
39
39
  # TODO use inline_resource
40
- key_content = Cheffish::KeyFormatter.encode(current_public_key, { :format => new_resource.output_key_format })
40
+ key_content = Cheffish::KeyFormatter.encode(current_public_key, { format: new_resource.output_key_format })
41
41
  if !current_resource.output_key_path
42
42
  action = "create"
43
43
  elsif key_content != IO.read(current_resource.output_key_path)
@@ -76,7 +76,7 @@ module Cheffish
76
76
  @new_public_key ||= begin
77
77
  if new_resource.source_key
78
78
  if new_resource.source_key.is_a?(String)
79
- key, key_format = Cheffish::KeyFormatter.decode(new_resource.source_key)
79
+ key, _key_format = Cheffish::KeyFormatter.decode(new_resource.source_key)
80
80
 
81
81
  if key.private?
82
82
  key.public_key
@@ -95,7 +95,7 @@ module Cheffish
95
95
  else
96
96
  source_key_str = IO.read(source_key_path)
97
97
  end
98
- source_key, source_key_format = Cheffish::KeyFormatter.decode(source_key_str, new_resource.source_key_pass_phrase, source_key_path)
98
+ source_key, _source_key_format = Cheffish::KeyFormatter.decode(source_key_str, new_resource.source_key_pass_phrase, source_key_path)
99
99
  if source_key.private?
100
100
  source_key.public_key
101
101
  else