### Home Classes Methods

### In Files

- lib/json/generic_object.rb

### Parent

OpenStruct

### Methods

- ::dump
- ::from_hash
- ::json_creatable?
- ::json_create
- ::load
- #[]
- #[]=
- #as_json
- #to_hash
- #to_json
- #|

### Files

- README.rdoc

### Class/Module Index

Quicksearch

- JSON
- JSON::Ext
- JSON::GeneratorError
- JSON::GenericObject
- JSON::JSONError
- JSON::MissingUnicodeSupport
- JSON::NestingError
- JSON::ParserError
- JSON::Pure
- JSON::Pure::Generator
- JSON::Pure::Generator::GeneratorMethods
- JSON::Pure::Generator::GeneratorMethods::Array
- JSON::Pure::Generator::GeneratorMethods::FalseClass
- JSON::Pure::Generator::GeneratorMethods::Float
- JSON::Pure::Generator::GeneratorMethods::Hash
- JSON::Pure::Generator::GeneratorMethods::Integer
- JSON::Pure::Generator::GeneratorMethods::NilClass
- JSON::Pure::Generator::GeneratorMethods::Object
- JSON::Pure::Generator::GeneratorMethods::String
- JSON::Pure::Generator::GeneratorMethods::String::Extend
- JSON::Pure::Generator::GeneratorMethods::TrueClass
- JSON::Pure::Generator::State
- JSON::Pure::Parser
- JSON::UnparserError
- BigDecimal
- Class
- Complex
- Date
- DateTime
- Exception
- Kernel
- OpenStruct
- Range
- Rational
- Regexp
- Struct
- Symbol
- Time

No matching classes.

# JSON::GenericObject

### Attributes

json_creatable[W]

### Public Class Methods

dump(obj, *args) click to toggle source

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

from_hash(object) click to toggle source

    # File 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 lib/json/generic_object.rb, line 8
    def json_creatable?
      @json_creatable
    end

json_create(data) click to toggle source

    # File 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 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

### Public Instance Methods

[](name) click to toggle source

    # File lib/json/generic_object.rb, line 50
    def [](name)
      table[name.to_sym]
    end

[]=(name, value) click to toggle source

    # File lib/json/generic_object.rb, line 54
    def []=(name, value)
      __send__ "#{name}=", value
    end

as_json(*) click to toggle source

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

to_hash() click to toggle source

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

to_json(*a) click to toggle source

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

|(other) click to toggle source

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

[Validate]

Generated with the Darkfish Rdoc Generator 2.