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