class JSON::GenericObject - Documentation for Ruby 4.0
Description: Documentation for the JSON::GenericObject class
Keywords: ruby,class,JSON::GenericObject

🔍

No recent searches

# class JSON::GenericObject

### Attributes

json_creatable [W]

### Public Class Methods

dump (obj, *args)
Source

    # File ext/json/lib/json/generic_object.rb, line 45
    def dump(obj, *args)
      ::JSON.dump(obj, *args)
    end

from_hash (object)
Source

    # File ext/json/lib/json/generic_object.rb, line 25
    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? ()
Source

    # File ext/json/lib/json/generic_object.rb, line 13
    def json_creatable?
      @json_creatable
    end

json_create (data)
Source

    # File ext/json/lib/json/generic_object.rb, line 19
    def json_create(data)
      data = data.dup
      data.delete JSON.create_id
      self[data]
    end

load (source, proc = nil, opts = {})
Source

    # File ext/json/lib/json/generic_object.rb, line 40
    def load(source, proc = nil, opts = {})
      result = ::JSON.load(source, proc, opts.merge(:object_class => self))
      result.nil? ? new : result
    end

### Public Instance Methods

| (other)
Source

    # File ext/json/lib/json/generic_object.rb, line 55
    def |(other)
      self.class[other.to_hash.merge(to_hash)]
    end

as_json (*)
Source

    # File ext/json/lib/json/generic_object.rb, line 59
    def as_json(*)
      { JSON.create_id => self.class.name }.merge to_hash
    end

to_hash ()
Source

    # File ext/json/lib/json/generic_object.rb, line 51
    def to_hash
      table
    end

to_json (*a)
Source

    # File ext/json/lib/json/generic_object.rb, line 63
    def to_json(*a)
      as_json.to_json(*a)
    end