Trait artichoke_backend::prelude::DefineConstant[][src]

pub trait DefineConstant {
    type Value: Value;
    type Error;
    fn define_global_constant(
        &mut self,
        constant: &str,
        value: Self::Value
    ) -> Result<(), Self::Error>;
fn define_class_constant<T>(
        &mut self,
        constant: &str,
        value: Self::Value
    ) -> Result<(), Self::Error>
    where
        T: 'static
;
fn define_module_constant<T>(
        &mut self,
        constant: &str,
        value: Self::Value
    ) -> Result<(), Self::Error>
    where
        T: 'static
; }
Expand description

Deifne constants on an interprter.

Constants can be an arbitrary Ruby value. Constants can be defined globally, on a class, or on a module.

Associated Types

Concrete type for Ruby values.

Concrete error type for fallible operations.

Required methods

Define a global constant.

Errors

If the given constant name is not valid, an error is returned.

If the interpreter cannot define the constant, an error is returned.

Define a class constant.

The class is specified by the type parameter T.

Errors

If the class named by type T is not defined, an error is returned.

If the given constant name is not valid, an error is returned.

If the interpreter cannot define the constant, an error is returned.

Define a module constant.

The class is specified by the type parameter T.

Errors

If the module named by type T is not defined, an error is returned.

If the given constant name is not valid, an error is returned.

If the interpreter cannot define the constant, an error is returned.

Implementors