Skip to main content

oxilean_codegen/ruby_backend/
rubymoduledef_traits.rs

1//! # RubyModuleDef - Trait Implementations
2//!
3//! This module contains trait implementations for `RubyModuleDef`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Display`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use crate::lcnf::*;
12
13use super::functions::{fmt_ruby_class, fmt_ruby_method, fmt_ruby_module_stmt, fmt_ruby_stmt};
14use super::types::RubyModuleDef;
15use std::fmt;
16
17impl std::fmt::Display for RubyModuleDef {
18    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
19        writeln!(f, "module {}", self.name)?;
20        for inc in &self.includes {
21            writeln!(f, "  include {}", inc)?;
22        }
23        for (n, v) in &self.constants {
24            writeln!(f, "  {} = {}", n, v)?;
25        }
26        for m in &self.methods {
27            writeln!(f, "  {}", m)?;
28        }
29        write!(f, "end")
30    }
31}