diff options
Diffstat (limited to '')
-rw-r--r-- | internal/feed/cache/cache.go | 6 | ||||
-rw-r--r-- | internal/feed/cache/cache_v1.go | 9 |
2 files changed, 10 insertions, 5 deletions
diff --git a/internal/feed/cache/cache.go b/internal/feed/cache/cache.go index e69e8f3..3a80df1 100644 --- a/internal/feed/cache/cache.go +++ b/internal/feed/cache/cache.go @@ -18,12 +18,12 @@ import ( type Version byte const ( - currentVersion Version = 1 + currentVersion Version = v1Version ) type Impl interface { cachedFeed(*feed.Feed) CachedFeed - transformToCurrent() (Impl, error) + transformTo(Version) (Impl, error) Version() Version Info() string SpecificInfo(interface{}) string @@ -169,7 +169,7 @@ func Load(fileName string) (Cache, error) { return Cache{}, fmt.Errorf("decoding for version '%d' from '%s': %w", version, fileName, err) } - if cache, err = cache.transformToCurrent(); err != nil { + if cache, err = cache.transformTo(currentVersion); err != nil { return Cache{}, fmt.Errorf("cannot transform from version %d to %d: %w", version, currentVersion, err) } diff --git a/internal/feed/cache/cache_v1.go b/internal/feed/cache/cache_v1.go index cef26f6..7d95d4c 100644 --- a/internal/feed/cache/cache_v1.go +++ b/internal/feed/cache/cache_v1.go @@ -175,8 +175,13 @@ func newV1Cache() *v1Cache { return &cache } -func (cache *v1Cache) transformToCurrent() (Impl, error) { - return cache, nil +func (cache *v1Cache) transformTo(v Version) (Impl, error) { + switch v { + case v1Version: + return cache, nil + default: + return nil, fmt.Errorf("Transformation not supported") + } } func (cache *v1Cache) getItem(id feedId) *cachedFeed { |