oak-ruby 0.0.11

Ruby dynamic programming language parser with support for object-oriented programming and modern Ruby features.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use oak_ruby::{language::RubyLanguage, parser::RubyParser};
use oak_testing::parsing::ParserTester;
use std::{path::Path, time::Duration};

#[test]
fn test_ruby_parser() -> Result<(), oak_core::OakError> {
    let here = Path::new(env!("CARGO_MANIFEST_DIR"));
    let language = RubyLanguage;
    let parser = RubyParser::new(&language);
    // use `rb` extension for Ruby source files
    let test_runner = ParserTester::new(here.join("tests/parser")).with_extension("rb").with_timeout(Duration::from_secs(5));
    test_runner.run_tests::<RubyLanguage, _>(&parser)
}