Files
doormanserver/doormen/encoding.go
T
2015-07-05 17:17:01 -04:00

27 lines
542 B
Go

package doormen
import (
"gopkg.in/mgo.v2/bson"
"math/big"
)
func (val *DoormanValue) GetBSON() (interface{}, error) {
ret := &doormanValue{val.Name, ""}
txt, err := val.Probability.MarshalText()
if err != nil {
return nil, err
}
ret.Probability = string(txt)
return ret, nil
}
func (val *DoormanValue) SetBSON(raw bson.Raw) error {
v := new(doormanValue)
if err := raw.Unmarshal(v); err != nil {
return err
}
val.Name = v.Name
val.Probability = new(big.Rat)
return val.Probability.UnmarshalText([]byte(v.Probability))
}