Skip to main content

oxilean_codegen/ruby_backend/
rubyfiber_traits.rs

1//! # RubyFiber - Trait Implementations
2//!
3//! This module contains trait implementations for `RubyFiber`.
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::RubyFiber;
15use std::fmt;
16
17impl std::fmt::Display for RubyFiber {
18    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
19        if self.is_async {
20            write!(
21                f,
22                "{} = Async {{ |{}| {} }}",
23                self.name,
24                self.params.join(", "),
25                self.body
26            )
27        } else {
28            write!(f, "{} = Fiber.new {{ {} }}", self.name, self.body)
29        }
30    }
31}