override_dir.go 783 B

1234567891011121314151617181920212223242526272829303132333435
  1. package fs
  2. // OverrideDirectory is a wrapper to override the Remote for an
  3. // Directory
  4. type OverrideDirectory struct {
  5. Directory
  6. remote string
  7. }
  8. // NewOverrideDirectory returns an OverrideDirectoryObject which will
  9. // return the remote specified
  10. func NewOverrideDirectory(oi Directory, remote string) *OverrideDirectory {
  11. // re-wrap an OverrideDirectory
  12. if or, ok := oi.(*OverrideDirectory); ok {
  13. return &OverrideDirectory{
  14. Directory: or.Directory,
  15. remote: remote,
  16. }
  17. }
  18. return &OverrideDirectory{
  19. Directory: oi,
  20. remote: remote,
  21. }
  22. }
  23. // Remote returns the overridden remote name
  24. func (o *OverrideDirectory) Remote() string {
  25. return o.remote
  26. }
  27. // String returns the overridden remote name
  28. func (o *OverrideDirectory) String() string {
  29. return o.remote
  30. }