pub struct StaticSymbol(/* private fields */);
Expand description
Implementations§
Source§impl StaticSymbol
impl StaticSymbol
Sourcepub fn from_value(val: Value) -> Option<Self>
pub fn from_value(val: Value) -> Option<Self>
Return Some(StaticSymbol)
if val
is a StaticSymbol
, None
otherwise.
§Examples
use magnus::{eval, StaticSymbol};
assert!(StaticSymbol::from_value(eval(":foo").unwrap()).is_some());
assert!(StaticSymbol::from_value(eval(r#""bar""#).unwrap()).is_none());
assert!(StaticSymbol::from_value(eval(r#""baz".to_sym"#).unwrap()).is_none());
Sourcepub fn new<T>(name: T) -> Selfwhere
T: IntoId,
Available on crate feature old-api
only.
pub fn new<T>(name: T) -> Selfwhere
T: IntoId,
old-api
only.Create a new StaticSymbol.
§Panics
Panics if called from a non-Ruby thread. See Ruby::sym_new
for the
non-panicking version.
§Examples
use magnus::{rb_assert, StaticSymbol};
let sym = StaticSymbol::new("example");
rb_assert!(":example == sym", sym);
Sourcepub fn check(name: &str) -> Option<Self>
Available on crate feature old-api
only.
pub fn check(name: &str) -> Option<Self>
old-api
only.Return the StaticSymbol
for name
, if one exists.
§Panics
Panics if called from a non-Ruby thread. See Ruby::check_symbol
for
the non-panicking version.
§Examples
use magnus::{eval, StaticSymbol};
assert!(StaticSymbol::check("example").is_none());
let _: StaticSymbol = eval(":example").unwrap();
assert!(StaticSymbol::check("example").is_some());
Sourcepub fn name(self) -> Result<&'static str, Error>
pub fn name(self) -> Result<&'static str, Error>
Return the symbol as a static string reference.
May error if the name is not valid utf-8.
§Examples
use magnus::{Error, Ruby};
fn example(ruby: &Ruby) -> Result<(), Error> {
let sym = ruby.sym_new("example");
assert_eq!(sym.name()?, "example");
Ok(())
}
Trait Implementations§
Source§impl Borrow<Symbol> for StaticSymbol
impl Borrow<Symbol> for StaticSymbol
Source§impl Clone for StaticSymbol
impl Clone for StaticSymbol
Source§fn clone(&self) -> StaticSymbol
fn clone(&self) -> StaticSymbol
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for StaticSymbol
impl Debug for StaticSymbol
Source§impl Display for StaticSymbol
impl Display for StaticSymbol
Source§impl EncodingCapable for StaticSymbol
impl EncodingCapable for StaticSymbol
Source§impl From<Id> for StaticSymbol
impl From<Id> for StaticSymbol
Source§impl From<StaticSymbol> for Id
impl From<StaticSymbol> for Id
Source§fn from(sym: StaticSymbol) -> Self
fn from(sym: StaticSymbol) -> Self
Converts to this type from the input type.
Source§impl From<StaticSymbol> for OpaqueId
impl From<StaticSymbol> for OpaqueId
Source§fn from(sym: StaticSymbol) -> Self
fn from(sym: StaticSymbol) -> Self
Converts to this type from the input type.
Source§impl From<StaticSymbol> for Symbol
impl From<StaticSymbol> for Symbol
Source§fn from(s: StaticSymbol) -> Self
fn from(s: StaticSymbol) -> Self
Converts to this type from the input type.
Source§impl Hash for StaticSymbol
impl Hash for StaticSymbol
Source§impl IntoId for StaticSymbol
impl IntoId for StaticSymbol
Source§impl IntoSymbol for StaticSymbol
impl IntoSymbol for StaticSymbol
Source§impl IntoValue for StaticSymbol
impl IntoValue for StaticSymbol
Source§impl PartialEq<Id> for StaticSymbol
impl PartialEq<Id> for StaticSymbol
Source§impl PartialEq<LazyId> for StaticSymbol
impl PartialEq<LazyId> for StaticSymbol
Source§impl PartialEq<OpaqueId> for StaticSymbol
impl PartialEq<OpaqueId> for StaticSymbol
Source§impl PartialEq<StaticSymbol> for Id
impl PartialEq<StaticSymbol> for Id
Source§impl PartialEq<StaticSymbol> for LazyId
impl PartialEq<StaticSymbol> for LazyId
Source§impl PartialEq<StaticSymbol> for OpaqueId
impl PartialEq<StaticSymbol> for OpaqueId
Source§impl PartialEq<StaticSymbol> for Symbol
impl PartialEq<StaticSymbol> for Symbol
Source§impl PartialEq<Symbol> for StaticSymbol
impl PartialEq<Symbol> for StaticSymbol
Source§impl PartialEq for StaticSymbol
impl PartialEq for StaticSymbol
Source§impl ReprValue for StaticSymbol
impl ReprValue for StaticSymbol
Source§fn equal<T>(self, other: T) -> Result<bool, Error>where
T: ReprValue,
fn equal<T>(self, other: T) -> Result<bool, Error>where
T: ReprValue,
Checks for equality, delegating to the Ruby method
#==
. Read moreSource§fn eql<T>(self, other: T) -> Result<bool, Error>where
T: ReprValue,
fn eql<T>(self, other: T) -> Result<bool, Error>where
T: ReprValue,
Checks for equality, delegating to the Ruby method
#eql?
. Read moreSource§fn hash(self) -> Result<Integer, Error>
fn hash(self) -> Result<Integer, Error>
Returns an integer non-uniquely identifying
self
. Read moreSource§fn to_bool(self) -> bool
fn to_bool(self) -> bool
Convert
self
to a bool
, following Ruby’s rules of false
and nil
as boolean false
and everything else boolean true
. Read moreSource§fn funcall_public<M, A, T>(self, method: M, args: A) -> Result<T, Error>
fn funcall_public<M, A, T>(self, method: M, args: A) -> Result<T, Error>
Source§fn block_call<M, A, R, T>(
self,
method: M,
args: A,
block: fn(&Ruby, &[Value], Option<Proc>) -> R,
) -> Result<T, Error>
fn block_call<M, A, R, T>( self, method: M, args: A, block: fn(&Ruby, &[Value], Option<Proc>) -> R, ) -> Result<T, Error>
Source§fn respond_to<M>(self, method: M, include_private: bool) -> Result<bool, Error>where
M: IntoId,
fn respond_to<M>(self, method: M, include_private: bool) -> Result<bool, Error>where
M: IntoId,
Check if
self
responds to the given Ruby method. Read moreSource§fn is_kind_of<T>(self, class: T) -> bool
fn is_kind_of<T>(self, class: T) -> bool
Source§fn enumeratorize<M, A>(self, method: M, args: A) -> Enumerator ⓘwhere
M: IntoSymbol,
A: ArgList,
fn enumeratorize<M, A>(self, method: M, args: A) -> Enumerator ⓘwhere
M: IntoSymbol,
A: ArgList,
Source§impl TryConvert for StaticSymbol
impl TryConvert for StaticSymbol
impl Copy for StaticSymbol
impl Eq for StaticSymbol
impl StructuralPartialEq for StaticSymbol
impl TryConvertOwned for StaticSymbol
Auto Trait Implementations§
impl Freeze for StaticSymbol
impl RefUnwindSafe for StaticSymbol
impl !Send for StaticSymbol
impl !Sync for StaticSymbol
impl Unpin for StaticSymbol
impl UnwindSafe for StaticSymbol
Blanket Implementations§
Source§impl<T> AsRawValue for Twhere
T: ReprValue,
impl<T> AsRawValue for Twhere
T: ReprValue,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more