Skip to content

Commit 2c73d54

Browse files
committed
Fix missed var names & rename collection
1 parent c0a45da commit 2c73d54

File tree

6 files changed

+57
-57
lines changed

6 files changed

+57
-57
lines changed

cmd/download_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,13 +144,13 @@ func TestDownload(t *testing.T) {
144144

145145
dir := filepath.Join(targetDir, "bogus-track", "bogus-exercise")
146146
b, err := ioutil.ReadFile(workspace.NewExerciseFromDir(dir).MetadataFilepath())
147-
var s workspace.ExerciseMetadata
148-
err = json.Unmarshal(b, &s)
147+
var metadata workspace.ExerciseMetadata
148+
err = json.Unmarshal(b, &metadata)
149149
assert.NoError(t, err)
150150

151-
assert.Equal(t, "bogus-track", s.Track)
152-
assert.Equal(t, "bogus-exercise", s.Exercise)
153-
assert.Equal(t, tc.requester, s.IsRequester)
151+
assert.Equal(t, "bogus-track", metadata.Track)
152+
assert.Equal(t, "bogus-exercise", metadata.Exercise)
153+
assert.Equal(t, tc.requester, metadata.IsRequester)
154154
}
155155
}
156156

workspace/exercise_metadata.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,35 +36,35 @@ func NewExerciseMetadata(dir string) (*ExerciseMetadata, error) {
3636
if err != nil {
3737
return &ExerciseMetadata{}, err
3838
}
39-
var s ExerciseMetadata
40-
if err := json.Unmarshal(b, &s); err != nil {
39+
var metadata ExerciseMetadata
40+
if err := json.Unmarshal(b, &metadata); err != nil {
4141
return &ExerciseMetadata{}, err
4242
}
43-
s.Dir = dir
44-
return &s, nil
43+
metadata.Dir = dir
44+
return &metadata, nil
4545
}
4646

4747
// Suffix is the serial numeric value appended to an exercise directory.
4848
// This is appended to avoid name conflicts, and does not indicate a particular
4949
// iteration.
50-
func (s *ExerciseMetadata) Suffix() string {
51-
return strings.Trim(strings.Replace(filepath.Base(s.Dir), s.Exercise, "", 1), "-.")
50+
func (em *ExerciseMetadata) Suffix() string {
51+
return strings.Trim(strings.Replace(filepath.Base(em.Dir), em.Exercise, "", 1), "-.")
5252
}
5353

54-
func (s *ExerciseMetadata) String() string {
55-
str := fmt.Sprintf("%s/%s", s.Track, s.Exercise)
56-
if s.Suffix() != "" {
57-
str = fmt.Sprintf("%s (%s)", str, s.Suffix())
54+
func (em *ExerciseMetadata) String() string {
55+
str := fmt.Sprintf("%s/%s", em.Track, em.Exercise)
56+
if em.Suffix() != "" {
57+
str = fmt.Sprintf("%s (%s)", str, em.Suffix())
5858
}
59-
if !s.IsRequester && s.Handle != "" {
60-
str = fmt.Sprintf("%s by @%s", str, s.Handle)
59+
if !em.IsRequester && em.Handle != "" {
60+
str = fmt.Sprintf("%s by @%s", str, em.Handle)
6161
}
6262
return str
6363
}
6464

6565
// Write stores exercise metadata to a file.
66-
func (s *ExerciseMetadata) Write(dir string) error {
67-
b, err := json.Marshal(s)
66+
func (em *ExerciseMetadata) Write(dir string) error {
67+
b, err := json.Marshal(em)
6868
if err != nil {
6969
return err
7070
}
@@ -75,15 +75,15 @@ func (s *ExerciseMetadata) Write(dir string) error {
7575
if err = ioutil.WriteFile(metadataAbsoluteFilepath, b, os.FileMode(0600)); err != nil {
7676
return err
7777
}
78-
s.Dir = dir
78+
em.Dir = dir
7979
return nil
8080
}
8181

8282
// PathToParent is the relative path from the workspace to the parent dir.
83-
func (s *ExerciseMetadata) PathToParent() string {
83+
func (em *ExerciseMetadata) PathToParent() string {
8484
var dir string
85-
if !s.IsRequester {
85+
if !em.IsRequester {
8686
dir = filepath.Join("users")
8787
}
88-
return filepath.Join(dir, s.Track)
88+
return filepath.Join(dir, em.Track)
8989
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package workspace
2+
3+
// ExerciseMetadataCollection is a collection of exercise metadata to interactively choose from.
4+
type ExerciseMetadataCollection []*ExerciseMetadata
5+
6+
// NewExerciseMetadataCollection loads up the exercise metadata for each of the provided paths.
7+
func NewExerciseMetadataCollection(paths []string) (ExerciseMetadataCollection, error) {
8+
var metadataCollection []*ExerciseMetadata
9+
10+
for _, path := range paths {
11+
metadata, err := NewExerciseMetadata(path)
12+
if err != nil {
13+
return []*ExerciseMetadata{}, err
14+
}
15+
metadataCollection = append(metadataCollection, metadata)
16+
}
17+
return metadataCollection, nil
18+
}

workspace/exercise_metadatas_test.go renamed to workspace/exercise_metadata_collection_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"github.com/stretchr/testify/assert"
99
)
1010

11-
func TestNewExerciseMetadatas(t *testing.T) {
11+
func TestNewExerciseMetadataCollection(t *testing.T) {
1212
_, cwd, _, _ := runtime.Caller(0)
1313
root := filepath.Join(cwd, "..", "..", "fixtures", "solutions")
1414

@@ -17,20 +17,20 @@ func TestNewExerciseMetadatas(t *testing.T) {
1717
filepath.Join(root, "bravo"),
1818
filepath.Join(root, "charlie"),
1919
}
20-
sx, err := NewExerciseMetadatas(paths)
20+
metadata, err := NewExerciseMetadataCollection(paths)
2121
assert.NoError(t, err)
2222

23-
if assert.Equal(t, 3, len(sx)) {
24-
assert.Equal(t, "alpha", sx[0].ID)
25-
assert.Equal(t, "bravo", sx[1].ID)
26-
assert.Equal(t, "charlie", sx[2].ID)
23+
if assert.Equal(t, 3, len(metadata)) {
24+
assert.Equal(t, "alpha", metadata[0].ID)
25+
assert.Equal(t, "bravo", metadata[1].ID)
26+
assert.Equal(t, "charlie", metadata[2].ID)
2727
}
2828

2929
paths = []string{
3030
filepath.Join(root, "alpha"),
3131
filepath.Join(root, "delta"),
3232
filepath.Join(root, "bravo"),
3333
}
34-
_, err = NewExerciseMetadatas(paths)
34+
_, err = NewExerciseMetadataCollection(paths)
3535
assert.Error(t, err)
3636
}

workspace/exercise_metadata_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ func TestExerciseMetadata(t *testing.T) {
1414
assert.NoError(t, err)
1515
defer os.RemoveAll(dir)
1616

17-
s1 := &ExerciseMetadata{
17+
em1 := &ExerciseMetadata{
1818
Track: "a-track",
1919
Exercise: "bogus-exercise",
2020
ID: "abc",
@@ -23,23 +23,23 @@ func TestExerciseMetadata(t *testing.T) {
2323
IsRequester: true,
2424
Dir: dir,
2525
}
26-
err = s1.Write(dir)
26+
err = em1.Write(dir)
2727
assert.NoError(t, err)
2828

29-
s2, err := NewExerciseMetadata(dir)
29+
em2, err := NewExerciseMetadata(dir)
3030
assert.NoError(t, err)
31-
assert.Nil(t, s2.SubmittedAt)
32-
assert.Equal(t, s1, s2)
31+
assert.Nil(t, em2.SubmittedAt)
32+
assert.Equal(t, em1, em2)
3333

3434
ts := time.Date(2000, 1, 2, 3, 4, 5, 6, time.UTC)
35-
s2.SubmittedAt = &ts
35+
em2.SubmittedAt = &ts
3636

37-
err = s2.Write(dir)
37+
err = em2.Write(dir)
3838
assert.NoError(t, err)
3939

40-
s3, err := NewExerciseMetadata(dir)
40+
em3, err := NewExerciseMetadata(dir)
4141
assert.NoError(t, err)
42-
assert.Equal(t, s2, s3)
42+
assert.Equal(t, em2, em3)
4343
}
4444

4545
func TestSuffix(t *testing.T) {

workspace/exercise_metadatas.go

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)