Sha256: 38776bdcacd8be44e0779d849e602e74f80f6979505d2baf4d8991f3e195be2a
Contents?: true
Size: 1.48 KB
Versions: 2
Compression:
Stored size: 1.48 KB
Contents
require "chef/chef_fs/data_handler/data_handler_base" require "chef/api_client" class Chef module ChefFS module DataHandler class GroupDataHandler < DataHandlerBase def normalize(group, entry) defaults = { "name" => remove_dot_json(entry.name), "groupname" => remove_dot_json(entry.name), "users" => [], "clients" => [], "groups" => [], } if entry.org defaults["orgname"] = entry.org end result = normalize_hash(group, defaults) if result["actors"] && result["actors"].sort.uniq == (result["users"] + result["clients"]).sort.uniq result.delete("actors") end result end def normalize_for_put(group, entry) result = super(group, entry) result["actors"] = { "users" => result["users"], "clients" => result["clients"], "groups" => result["groups"], } result.delete("users") result.delete("clients") result.delete("groups") result end def normalize_for_post(group, entry) normalize_for_put(group, entry) end def preserve_key?(key) return key == "name" end def chef_class Chef::ApiClient end # There is no Ruby API for Chef::ApiClient end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
chef-12.8.1 | lib/chef/chef_fs/data_handler/group_data_handler.rb |
chef-12.8.1-universal-mingw32 | lib/chef/chef_fs/data_handler/group_data_handler.rb |