Struct magnus::value::Id

source ·
pub struct Id(/* private fields */);
Expand description

The internal value of a Ruby symbol.

Implementations§

source§

impl Id

source

pub fn new<T>(name: T) -> Self
where T: AsRef<str>,

Create a new Id for name.

§Panics

Panics if called from a non-Ruby thread. See Ruby::intern for the non-panicking version.

§Examples
use magnus::value::Id;

let id = Id::new("example");
assert_eq!(id.name().unwrap(), "example");
source

pub fn check(name: &str) -> Option<Self>

Return the Id for name, if one exists.

§Panics

Panics if called from a non-Ruby thread. See Ruby::check_id for the non-panicking version.

§Examples
use magnus::{value::Id, StaticSymbol};

assert!(Id::check("example").is_none());
StaticSymbol::new("example");
assert!(Id::check("example").is_some());
source

pub fn name(self) -> Result<&'static str, Error>

Return the symbol name associated with this Id as a static string reference.

May error if the name is not valid utf-8.

§Examples
use magnus::value::Id;

let id = Id::new("example");
assert_eq!(id.name().unwrap(), "example");

Trait Implementations§

source§

impl AsRawId for Id

Available on crate feature rb-sys only.
source§

impl Borrow<OpaqueId> for Id

source§

fn borrow(&self) -> &OpaqueId

Immutably borrows from an owned value. Read more
source§

impl Clone for Id

source§

fn clone(&self) -> Id

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Id

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<Id> for OpaqueId

source§

fn from(id: Id) -> Self

Converts to this type from the input type.
source§

impl From<Id> for StaticSymbol

source§

fn from(id: Id) -> Self

Converts to this type from the input type.
source§

impl From<Id> for Symbol

source§

fn from(id: Id) -> Self

Converts to this type from the input type.
source§

impl From<StaticSymbol> for Id

source§

fn from(sym: StaticSymbol) -> Self

Converts to this type from the input type.
source§

impl From<Symbol> for Id

source§

fn from(sym: Symbol) -> Self

Converts to this type from the input type.
source§

impl FromRawId for Id

Available on crate feature rb-sys only.
source§

impl Hash for Id

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoId for Id

source§

fn into_id_with(self, _: &Ruby) -> Id

Convert self into Id.
source§

fn into_id(self) -> Id

Convert self into Id. Read more
source§

unsafe fn into_id_unchecked(self) -> Id

Convert self into Id. Read more
source§

impl IntoSymbol for Id

source§

fn into_symbol_with(self, handle: &Ruby) -> Symbol

Convert self into Symbol. Read more
source§

fn into_symbol(self) -> Symbol

Convert self into Symbol. Read more
source§

unsafe fn into_symbol_unchecked(self) -> Symbol

Convert self into Symbol. Read more
source§

impl IntoValue for Id

source§

fn into_value_with(self, handle: &Ruby) -> Value

Convert self into Value.
source§

fn into_value(self) -> Value

Convert self into Value. Read more
source§

unsafe fn into_value_unchecked(self) -> Value

Convert self into Value. Read more
source§

impl PartialEq<Id> for LazyId

source§

fn eq(&self, other: &Id) -> bool

§Panics

Panics if the first call is from a non-Ruby thread. This LazyId will then be poisoned and all future use of it will panic.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<Id> for OpaqueId

source§

fn eq(&self, other: &Id) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<Id> for StaticSymbol

source§

fn eq(&self, other: &Id) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<Id> for Symbol

source§

fn eq(&self, other: &Id) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<LazyId> for Id

source§

fn eq(&self, other: &LazyId) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<OpaqueId> for Id

source§

fn eq(&self, other: &OpaqueId) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<StaticSymbol> for Id

source§

fn eq(&self, other: &StaticSymbol) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<Symbol> for Id

source§

fn eq(&self, other: &Symbol) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq for Id

source§

fn eq(&self, other: &Id) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Id

source§

impl Eq for Id

source§

impl StructuralPartialEq for Id

Auto Trait Implementations§

§

impl Freeze for Id

§

impl RefUnwindSafe for Id

§

impl Send for Id

§

impl Sync for Id

§

impl Unpin for Id

§

impl UnwindSafe for Id

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Hash for T
where T: Hash,

source§

fn hash(&self) -> i64

source§

impl<T> Inspect for T
where T: Debug,

source§

fn inspect(&self) -> String

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> BlockReturn for T
where T: BlockReturn,

source§

impl<T> ReturnValue for T
where T: ReturnValue,