pub struct RubyClass {
pub name: String,
pub superclass: Option<String>,
pub methods: Vec<RubyMethod>,
pub class_methods: Vec<RubyMethod>,
pub attr_readers: Vec<String>,
pub attr_writers: Vec<String>,
}Expand description
A Ruby class definition.
Fields§
§name: StringClass name (CamelCase).
superclass: Option<String>Optional superclass name.
methods: Vec<RubyMethod>Instance methods.
class_methods: Vec<RubyMethod>Class-level methods (will be emitted as def self.name).
attr_readers: Vec<String>attr_reader accessor names.
attr_writers: Vec<String>attr_writer accessor names.
Implementations§
Source§impl RubyClass
impl RubyClass
Sourcepub fn with_superclass(self, superclass: &str) -> Self
pub fn with_superclass(self, superclass: &str) -> Self
Set the superclass.
Sourcepub fn add_attr_reader(&mut self, name: &str)
pub fn add_attr_reader(&mut self, name: &str)
Add an attr_reader.
Sourcepub fn add_method(&mut self, method: RubyMethod)
pub fn add_method(&mut self, method: RubyMethod)
Add an instance method.
Sourcepub fn add_class_method(&mut self, method: RubyMethod)
pub fn add_class_method(&mut self, method: RubyMethod)
Add a class method.
Trait Implementations§
impl StructuralPartialEq for RubyClass
Auto Trait Implementations§
impl Freeze for RubyClass
impl RefUnwindSafe for RubyClass
impl Send for RubyClass
impl Sync for RubyClass
impl Unpin for RubyClass
impl UnsafeUnpin for RubyClass
impl UnwindSafe for RubyClass
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more