github.com/mongodb/grip@v0.0.0-20240213223901-f906268d82b9/message/generic.go (about) 1 package message 2 3 import ( 4 "github.com/mongodb/grip/level" 5 ) 6 7 type genericMessage struct { 8 Base 9 raw Generic 10 description string 11 } 12 13 type Generic interface { 14 Send() error 15 Valid() bool 16 } 17 18 // NewGenericMessage returns a composer for Generic messages 19 func NewGenericMessage(p level.Priority, g Generic, description string) Composer { 20 m := &genericMessage{} 21 if err := m.SetPriority(p); err != nil { 22 _ = m.SetPriority(level.Notice) 23 } 24 25 m.raw = g 26 m.description = description 27 return m 28 } 29 30 func (m *genericMessage) Loggable() bool { 31 return m.raw.Valid() 32 } 33 34 func (m *genericMessage) String() string { 35 return m.description 36 } 37 38 func (m *genericMessage) Raw() interface{} { 39 return m.raw 40 }