Method: Chef::Resource#as_json

Defined in:
lib/chef/resource.rb

#as_json(*a) ⇒ Object

as_json does most of the to_json heavy lifted. It exists here in case activesupport is loaded. activesupport will call as_json and skip over to_json. This ensure json is encoded as expected



487
488
489
490
491
492
493
494
495
496
497
# File 'lib/chef/resource.rb', line 487

def as_json(*a)
  safe_ivars = instance_variables.map { |ivar| ivar.to_sym } - FORBIDDEN_IVARS
  instance_vars = Hash.new
  safe_ivars.each do |iv|
    instance_vars[iv.to_s.sub(/^@/, '')] = instance_variable_get(iv)
  end
  {
    'json_class' => self.class.name,
    'instance_vars' => instance_vars
  }
end