1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/optional/capi/fixtures/class.rb
2022-03-28 17:47:04 +02:00

104 lines
1.4 KiB
Ruby

class CApiClassSpecs
module M
def included?
true
end
end
class Alloc
attr_reader :initialized
attr_reader :arguments
def initialize(*args)
@initialized = true
@arguments = args
end
end
class KeywordAlloc
attr_reader :initialized, :args, :kwargs
def initialize(*args, **kwargs)
@initialized = true
@args = args
@kwargs = kwargs
end
end
class Attr
def initialize
@foo, @bar, @baz = 1, 2, 3
end
end
class CVars
@@cvar = :cvar
@c_ivar = :c_ivar
def new_cv
@@new_cv if defined? @@new_cv
end
def new_cvar
@@new_cvar if defined? @@new_cvar
end
def rbdcv_cvar
@@rbdcv_cvar if defined? @@rbdcv_cvar
end
end
class Inherited
def self.inherited(klass)
klass
end
end
class NewClass
def self.inherited(klass)
raise "#{name}.inherited called"
end
end
class Super
def call_super_method
:super_method
end
end
class Sub < Super
def call_super_method
:subclass_method
end
end
class SubM < Super
include M
end
class SubSub < Sub
def call_super_method
:subsubclass_method
end
end
class SuperSelf
def call_super_method
self
end
end
class SubSelf < SuperSelf
end
class A
C = 1
autoload :D, File.expand_path('../path_to_class.rb', __FILE__)
class B
end
module M
end
end
end