Attribute for Rutie
Rutieの各種マクロをAttributeマクロで書けるようにするラッパー。
Example
use rutie::{RString, Object, VM};
use rutie_attr::{rbclass, rbmethods, rbdef};
#[rbclass]
pub struct Foo {
pub field1: RString,
field2: Fixnum,
}
#[rbmethods]
impl Foo {
#[rbdef(hoge?(a = "a"))]
fn hoge(a: RString) -> RString {
a
}
#[rbdef(fuga!(b = "1"))]
fn fuga(b: RString) -> RString {
b
}
}
上記のRustのコードが以下のRubyのクラスとして使えるようになります。
class Foo
attr_accessor :field1
attr_reader :field2
def self.hoge?(a = "a")
a
end
def fuga!(b = "1")
b
end
end