ducky/devices
ducky/devices/context.go
Ignore coverage output. Add a .hgignore file to ignore the output file that tracks our test coverage.
1 package devices
3 import (
4 "errors"
6 "golang.org/x/net/context"
7 )
9 const (
10 storerKey = "code.secondbit.org/ducky/devices.hg#Storer"
11 )
13 var (
14 // ErrNoStorerSet is returned when the Context has no Storer set in it.
15 ErrNoStorerSet = errors.New("storerKey not set in Context")
16 // ErrStorerKeyNotStorer is returned when there's a value in the Context for storerKey, but it's not a Storer.
17 ErrStorerKeyNotStorer = errors.New("the value for storerKey does not fulfill the Storer interface")
18 )
20 func getStorer(c context.Context) (Storer, error) {
21 val := c.Value(storerKey)
22 if val == nil {
23 return nil, ErrNoStorerSet
24 }
25 storer, ok := val.(Storer)
26 if !ok {
27 return nil, ErrStorerKeyNotStorer
28 }
29 return storer, nil
30 }