arel 0.2.0

a sql orm base sqlx
Documentation
use crate::statements::ArelStatement;

#[derive(Debug)]
pub struct Offset {
    num: usize,
}

impl ArelStatement for Offset {
    fn to_sql(&self) -> Option<crate::Sql> {
        let mut final_sql = crate::Sql::new("OFFSET ");
        final_sql.push_str(self.num.to_string());
        Some(final_sql)
    }
}

impl Offset {
    pub fn new(num: usize) -> Self {
        Self { num }
    }
}

#[cfg(test)]
mod tests {
    use crate::prelude::*;

    use super::*;
    #[test]
    fn to_sql() {
        struct User {}
        impl ArelBase for User {}
        impl ArelRecord for User {}
        impl ArelModel for User {}

        let offset = Offset::new(10);
        assert_eq!(offset.to_sql().unwrap().to_sql_string().unwrap(), "OFFSET 10");
    }
}