A Struct for Ruby that includes validation support