ducky/devices

Paddy 2015-11-20 Parent:600326d50e74

9:f5a9d5f8f28d Go to Latest

ducky/devices/device_type.go

Separate out StorerFactory into its own interface. We had previously included a Factory and Destroy method in the Storer interface, but it makes more sense to separate those out into a StorerFactory interface. This lets us avoid the impression that we're using the same instance of a Storer for every test, separates the test methods away from the methods that are actually used in prod, and hides them from Godoc. What's not to like?

History
1 package devices
3 const (
4 // TypeAndroidTablet is used to designate a Device as an
5 // Android tablet, usually for display purposes.
6 TypeAndroidTablet = DeviceType("android_tablet")
7 // TypeAndroidPhone is used to designate a Device as an
8 // Android phone, usually for display purposes.
9 TypeAndroidPhone = DeviceType("android_phone")
10 // TypeChromeExtension is used to designate a device as a
11 // Chrome extension, usually for display purposes.
12 TypeChromeExtension = DeviceType("chrome_extension")
13 )
15 // DeviceType is an enum specifying which type of Device it is. Usually,
16 // this is something like `android_phone` or `android_tablet`.
17 type DeviceType string
19 // IsValidDeviceType validates the DeviceType against a list of
20 // DeviceTypes that have been whitelisted as "valid".
21 func IsValidDeviceType(d DeviceType) bool {
22 switch d {
23 case TypeAndroidTablet:
24 return true
25 case TypeAndroidPhone:
26 return true
27 case TypeChromeExtension:
28 return true
29 default:
30 return false
31 }
32 }