File: class.rb

package info (click to toggle)
jruby 1.7.26-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 84,572 kB
  • sloc: ruby: 669,910; java: 253,056; xml: 35,152; ansic: 9,187; yacc: 7,267; cpp: 5,244; sh: 1,036; makefile: 345; jsp: 48; tcl: 40
file content (124 lines) | stat: -rw-r--r-- 1,844 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
module ClassSpecs

  def self.sclass_with_block
    class << self
      yield
    end
  end

  def self.sclass_with_return
    class << self
      return :inner
    end
    return :outer
  end

  class A; end

  def self.string_class_variables(obj)
    obj.class_variables.map { |x| x.to_s }
  end

  def self.string_instance_variables(obj)
    obj.instance_variables.map { |x| x.to_s }
  end

  class B
    @@cvar = :cvar
    @ivar = :ivar

  end

  class C
    def self.make_class_variable
      @@cvar = :cvar
    end

    def self.make_class_instance_variable
      @civ = :civ
    end
  end

  class D
    def make_class_variable
      @@cvar = :cvar
    end
  end

  class E
    def self.cmeth() :cmeth end
    def meth() :meth end

    class << self
      def smeth() :smeth end
    end

    CONSTANT = :constant!
  end

  class F; end
  class F
    def meth() :meth end
  end
  class F
    def another() :another end
  end

  class G
    def override() :nothing end
    def override() :override end
  end

  class Container
    class A; end
    class B; end
  end

  O = Object.new
  class << O
    def smeth
      :smeth
    end
  end

  class H
    def self.inherited(sub)
      track_inherited << sub
    end

    def self.track_inherited
      @inherited_modules ||= []
    end
  end

  class K < H; end

  class I
    class J < self
    end
  end

  class K
    def example_instance_method
    end
    def self.example_class_method
    end
  end

  class L; end

  class M < L; end
end

class Class
  def example_instance_method_of_class; end
  def self.example_class_method_of_class; end
end
class << Class
  def example_instance_method_of_singleton_class; end
  def self.example_class_method_of_singleton_class; end
end
class Object
  def example_instance_method_of_object; end
  def self.example_class_method_of_object; end
end