Type:
Class

Extends any Class to include json_creatable? method.

Classes in Ruby are first-class objects—each is an instance of class Class.

Typically, you create a new class by using:

class Name
 # some class describing the class behavior
end

When a new class is created, an object of type Class is initialized and assigned to a global constant (Name in this case).

When Name.new is called to create a new object, the new method in Class is run by default. This can be demonstrated by overriding new in Class:

class Class
   alias oldNew  new
   def new(*args)
     print "Creating a new ", self.name, "\n"
     oldNew(*args)
   end
 end

 class Name
 end

 n = Name.new

produces:

Creating a new Name

Classes, modules, and objects are interrelated. In the diagram that follows, the vertical arrows represent inheritance, and the parentheses meta-classes. All metaclasses are instances of the class `Class'.

                         +---------+             +-...
                         |         |             |
         BasicObject-----|-->(BasicObject)-------|-...
             ^           |         ^             |
             |           |         |             |
          Object---------|----->(Object)---------|-...
             ^           |         ^             |
             |           |         |             |
             +-------+   |         +--------+    |
             |       |   |         |        |    |
             |    Module-|---------|--->(Module)-|-...
             |       ^   |         |        ^    |
             |       |   |         |        |    |
             |     Class-|---------|---->(Class)-|-...
             |       ^   |         |        ^    |
             |       +---+         |        +----+
             |                     |
obj--->OtherClass---------->(OtherClass)-----------...
superclass

class.superclass â a_super_class or nil Instance Public methods Returns the

2015-04-01 07:07:44
new

Class.new(super_class=Object) â a_classClass.new(super_class=Object) { |mod| ... } â a_class

2015-04-01 06:51:35
json_creatable?

json_creatable?() Instance Public methods Returns true if this class can be

2015-04-01 06:56:09
allocate

class.allocate() â obj Instance Public methods Allocates space for a new

2015-04-01 06:55:24
new 2

class.new(args, ...) â obj Instance Public methods Calls allocate

2015-04-01 07:02:56