Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Have storage adapter implementation functions return an exported type #89

Closed
arschles opened this issue Jun 21, 2016 · 0 comments
Closed
Assignees

Comments

@arschles
Copy link
Member

Functions like redis.NewStorageAdapter (from #88) currently return *adapter, which is not exported and confusing to see in documentation. This issue is for doing one of the following:

  • Refactoring the codebase so that those types of functions can return storage.Adapter without causing an import cycle
  • Making the *adapter exported
  • Another solution that makes the return type for those New* functions exported?

This issue is a continuation of #88 (comment)

arschles pushed a commit to arschles/deis-logger that referenced this issue Jun 21, 2016
@arschles arschles self-assigned this Jun 21, 2016
arschles pushed a commit to arschles/deis-logger that referenced this issue Jul 7, 2016
…return storage.Adapter

Fixes deis#89

Also flatten all storage adapters and the storage factory into a single storage package
arschles pushed a commit to arschles/deis-logger that referenced this issue Jul 7, 2016
…return storage.Adapter

Fixes deis#89

Also flatten all storage adapters and the storage factory into a single storage package
arschles added a commit that referenced this issue Jul 7, 2016
… return the storage.Adapter interface (#93)

Fixes #89

Also:

- Flatten all storage adapters and the storage factory into a single storage package
- Move the storage adapter factory into a factory subpackage of 'github.com/deis/logger/storage'
  - Eliminates a circular dependency from the storage adapter packages and storage
- Add a 'testredis' build tag to the './storage/redis_adapter_test.go' (which was added in #88), so that a developer can still run 'go test $(glide nv)' without requiring a redis server be up and running
  - 'make test', however, still runs tests with that tag enabled, because it also runs a redis server in a linked container
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant