Skip to content

Commit cae5a1a

Browse files
jfmyers9acrmp
authored andcommitted
Update filesystem interface to be more consistent
This change updates `Open` to return a `ReadCloser` rather than a `ReadWriteCloser`. This is because it opens the file as R_ONLY. This change also updates the `Create` method to return a `WriteCloser` to be consistent with the interface provided by `Open`. [#152763277] Signed-off-by: Andrew Crump <acrump@pivotal.io>
1 parent 3669526 commit cae5a1a

13 files changed

+74
-133
lines changed

builder/fakes/filesystem.go

Lines changed: 18 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 13 additions & 84 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builder/init_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"testing"
1010
)
1111

12-
//go:generate counterfeiter -o ./fakes/read_write_closer.go --fake-name ReadWriteCloser io.ReadWriteCloser
12+
//go:generate counterfeiter -o ./fakes/read_closer.go --fake-name ReadCloser io.ReadCloser
1313

1414
func TestBuilder(t *testing.T) {
1515
RegisterFailHandler(Fail)

builder/metadata_parts_directory_reader.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,37 +20,46 @@ func NewMetadataPartsDirectoryReader(filesystem filesystem, topLevelKey string)
2020

2121
func (r MetadataPartsDirectoryReader) Read(path string) ([]interface{}, error) {
2222
parts := []interface{}{}
23+
2324
err := r.filesystem.Walk(path, func(filePath string, info os.FileInfo, err error) error {
2425
if err != nil {
2526
return err
2627
}
28+
2729
if info.IsDir() {
2830
return nil
2931
}
32+
3033
if filepath.Ext(filePath) != ".yml" {
3134
return nil
3235
}
36+
3337
f, err := r.filesystem.Open(filePath)
3438
if err != nil {
3539
return err
3640
}
3741
defer f.Close()
42+
3843
data, err := ioutil.ReadAll(f)
3944
if err != nil {
4045
return err
4146
}
47+
4248
var fileVars map[string][]interface{}
4349
err = yaml.Unmarshal([]byte(data), &fileVars)
4450
if err != nil {
4551
return err
4652
}
53+
4754
_, ok := fileVars[r.topLevelKey]
4855
if !ok {
4956
return fmt.Errorf("not a %s file: %q", r.topLevelKey, filePath)
5057
}
58+
5159
parts = append(parts, fileVars[r.topLevelKey]...)
5260
return nil
5361
})
62+
5463
if err != nil {
5564
return []interface{}{}, err
5665
}

0 commit comments

Comments
 (0)