In Files

  • json/lib/json/generic_object.rb

JSON::GenericObject

Attributes

json_creatable[W]

Public Instance Methods

[](name) click to toggle source
 
               # File json/lib/json/generic_object.rb, line 50
def [](name)
  table[name.to_sym]
end
            
[]=(name, value) click to toggle source
 
               # File json/lib/json/generic_object.rb, line 54
def []=(name, value)
  __send__ "#{name}=", value
end
            
as_json(*) click to toggle source
 
               # File json/lib/json/generic_object.rb, line 62
def as_json(*)
  { JSON.create_id => self.class.name }.merge to_hash
end
            
dump(obj, *args) click to toggle source
 
               # File json/lib/json/generic_object.rb, line 40
def dump(obj, *args)
  ::JSON.dump(obj, *args)
end
            
from_hash(object) click to toggle source
 
               # File json/lib/json/generic_object.rb, line 20
def from_hash(object)
  case
  when object.respond_to?(:to_hash)
    result = new
    object.to_hash.each do |key, value|
      result[key] = from_hash(value)
    end
    result
  when object.respond_to?(:to_ary)
    object.to_ary.map { |a| from_hash(a) }
  else
    object
  end
end
            
json_creatable?() click to toggle source
 
               # File json/lib/json/generic_object.rb, line 8
def json_creatable?
  @json_creatable
end
            
json_create(data) click to toggle source
 
               # File json/lib/json/generic_object.rb, line 14
def json_create(data)
  data = data.dup
  data.delete JSON.create_id
  self[data]
end
            
load(source, proc = nil, opts = {}) click to toggle source
 
               # File json/lib/json/generic_object.rb, line 35
def load(source, proc = nil, opts = {})
  result = ::JSON.load(source, proc, opts.merge(:object_class => self))
  result.nil? ? new : result
end
            
to_hash() click to toggle source
 
               # File json/lib/json/generic_object.rb, line 46
def to_hash
  table
end
            
to_json(*a) click to toggle source
 
               # File json/lib/json/generic_object.rb, line 66
def to_json(*a)
  as_json.to_json(*a)
end
            
|(other) click to toggle source
 
               # File json/lib/json/generic_object.rb, line 58
def |(other)
  self.class[other.to_hash.merge(to_hash)]
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus