Method: Chef::Role#to_h

Defined in:
lib/chef/role.rb

#to_hObject Also known as: to_hash



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/chef/role.rb', line 133

def to_h
  env_run_lists_without_default = @env_run_lists.dup
  env_run_lists_without_default.delete("_default")
  {
    "name" => @name,
    "description" => @description,
    "json_class" => self.class.name,
    "default_attributes" => @default_attributes,
    "override_attributes" => @override_attributes,
    "chef_type" => "role",

    # Render to_json correctly for run_list items (both run_list and evn_run_lists)
    # so malformed json does not result
    "run_list" => run_list.run_list.map(&:to_s),
    "env_run_lists" => env_run_lists_without_default.inject({}) do |accumulator, (k, v)|
      accumulator[k] = v.map(&:to_s)
      accumulator
    end,
  }
end