memory.rs
1 mod bool; 2 use bool::Bool; 3 4 // Shared values 5 6 const HIGHLIGHT_REQUEST_ENTRY: &str = "highlight_request_entry"; 7 8 pub enum Memory { 9 HighlightRequestEntry(Bool), 10 } 11 12 impl Memory { 13 // Constructors 14 15 pub fn from_db_row(key: &str, value: Option<String>) -> Option<Self> { 16 if key == HIGHLIGHT_REQUEST_ENTRY { 17 Some(Self::HighlightRequestEntry(Bool::from_db_value(value))) 18 } else { 19 None 20 } 21 } 22 23 pub fn highlight_request_entry(value: bool) -> Self { 24 Memory::HighlightRequestEntry(Bool::from(value)) 25 } 26 27 // Actions 28 29 pub fn into_db_row(self) -> (String, String) { 30 match self { 31 Self::HighlightRequestEntry(value) => { 32 (HIGHLIGHT_REQUEST_ENTRY.to_string(), value.into_db_value()) 33 } 34 } 35 } 36 37 // Getters 38 39 pub fn key(&self) -> &str { 40 match self { 41 Self::HighlightRequestEntry(..) => HIGHLIGHT_REQUEST_ENTRY, 42 } 43 } 44 }