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:

1
2
3
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:

1
2
3
4
5
6
7
8
9
10
11
12
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:

1
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'.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
                         +---------+             +-...
                         |         |             |
         BasicObject-----|-->(BasicObject)-------|-...
             ^           |         ^             |
             |           |         |             |
          Object---------|----->(Object)---------|-...
             ^           |         ^             |
             |           |         |             |
             +-------+   |         +--------+    |
             |       |   |         |        |    |
             |    Module-|---------|--->(Module)-|-...
             |       ^   |         |        ^    |
             |       |   |         |        |    |
             |     Class-|---------|---->(Class)-|-...
             |       ^   |         |        ^    |
             |       +---+         |        +----+
             |                     |
obj--->OtherClass---------->(OtherClass)-----------...
superclass
  • References/Ruby on Rails/Ruby/Classes/Class

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

2025-01-10 15:47:30
new
  • References/Ruby on Rails/Ruby/Classes/Class

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

2025-01-10 15:47:30
json_creatable?
  • References/Ruby on Rails/Ruby/Classes/Class

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

2025-01-10 15:47:30
allocate
  • References/Ruby on Rails/Ruby/Classes/Class

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

2025-01-10 15:47:30
new 2
  • References/Ruby on Rails/Ruby/Classes/Class

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

2025-01-10 15:47:30