@@ -55,10 +55,12 @@ type Dependency struct {
55
55
Version string
56
56
}
57
57
58
+ // New returns a new DB object.
58
59
func New (libraryFile string ) * DB {
59
60
return & DB {libraryFile : libraryFile }
60
61
}
61
62
63
+ // AddLibrary adds a library to the database.
62
64
func (db * DB ) AddLibrary (library * Library ) error {
63
65
db .mutex .Lock ()
64
66
defer db .mutex .Unlock ()
@@ -70,6 +72,7 @@ func (db *DB) AddLibrary(library *Library) error {
70
72
return nil
71
73
}
72
74
75
+ // HasLibrary returns whether the database already contains the given library.
73
76
func (db * DB ) HasLibrary (libraryName string ) bool {
74
77
db .mutex .Lock ()
75
78
defer db .mutex .Unlock ()
@@ -81,6 +84,7 @@ func (db *DB) hasLibrary(libraryName string) bool {
81
84
return found != nil
82
85
}
83
86
87
+ // FindLibrary returns the Library object for the given name.
84
88
func (db * DB ) FindLibrary (libraryName string ) (* Library , error ) {
85
89
db .mutex .Lock ()
86
90
defer db .mutex .Unlock ()
@@ -96,6 +100,7 @@ func (db *DB) findLibrary(libraryName string) (*Library, error) {
96
100
return nil , errors .New ("library not found" )
97
101
}
98
102
103
+ // AddRelease adds a library release to the database.
99
104
func (db * DB ) AddRelease (release * Release , repoURL string ) error {
100
105
db .mutex .Lock ()
101
106
defer db .mutex .Unlock ()
@@ -120,6 +125,7 @@ func (db *DB) AddRelease(release *Release, repoURL string) error {
120
125
return nil
121
126
}
122
127
128
+ // HasReleaseByNameVersion returns whether the database contains a release for the given library and version number.
123
129
func (db * DB ) HasReleaseByNameVersion (libraryName string , libraryVersion string ) bool {
124
130
db .mutex .Lock ()
125
131
defer db .mutex .Unlock ()
@@ -131,6 +137,7 @@ func (db *DB) hasReleaseByNameVersion(libraryName string, libraryVersion string)
131
137
return found != nil
132
138
}
133
139
140
+ // HasRelease returns whether the database already contains the given Release object.
134
141
func (db * DB ) HasRelease (release * Release ) bool {
135
142
db .mutex .Lock ()
136
143
defer db .mutex .Unlock ()
@@ -141,6 +148,7 @@ func (db *DB) hasRelease(release *Release) bool {
141
148
return db .hasReleaseByNameVersion (release .LibraryName , release .Version .String ())
142
149
}
143
150
151
+ // FindRelease returns the Release object from the database that matches the given object.
144
152
func (db * DB ) FindRelease (release * Release ) (* Release , error ) {
145
153
db .mutex .Lock ()
146
154
defer db .mutex .Unlock ()
@@ -156,6 +164,7 @@ func (db *DB) findReleaseByNameVersion(libraryName string, libraryVersion string
156
164
return nil , errors .New ("library not found" )
157
165
}
158
166
167
+ // LoadFromFile returns a DB object loaded from the given filename.
159
168
func LoadFromFile (filename string ) (* DB , error ) {
160
169
file , err := os .Open (filename )
161
170
if err != nil {
@@ -170,6 +179,7 @@ func LoadFromFile(filename string) (*DB, error) {
170
179
return db , nil
171
180
}
172
181
182
+ // Load returns a DB object loaded from the given reader.
173
183
func Load (r io.Reader ) (* DB , error ) {
174
184
decoder := json .NewDecoder (r )
175
185
db := new (DB )
@@ -180,6 +190,7 @@ func Load(r io.Reader) (*DB, error) {
180
190
return db , nil
181
191
}
182
192
193
+ // SaveToFile saves the database to a file.
183
194
func (db * DB ) SaveToFile () error {
184
195
db .mutex .Lock ()
185
196
defer db .mutex .Unlock ()
@@ -191,6 +202,7 @@ func (db *DB) SaveToFile() error {
191
202
return db .save (file )
192
203
}
193
204
205
+ // Save writes the database via the given writer.
194
206
func (db * DB ) Save (r io.Writer ) error {
195
207
db .mutex .Lock ()
196
208
defer db .mutex .Unlock ()
@@ -222,6 +234,7 @@ func (db *DB) findLatestReleaseOfLibrary(lib *Library) (*Release, error) {
222
234
return found , nil
223
235
}
224
236
237
+ // FindReleasesOfLibrary returns the database's releases for the given Library object.
225
238
func (db * DB ) FindReleasesOfLibrary (lib * Library ) []* Release {
226
239
db .mutex .Lock ()
227
240
defer db .mutex .Unlock ()
@@ -239,10 +252,12 @@ func (db *DB) findReleasesOfLibrary(lib *Library) []*Release {
239
252
return releases
240
253
}
241
254
255
+ // Commit saves the database to disk.
242
256
func (db * DB ) Commit () error {
243
257
return db .SaveToFile ()
244
258
}
245
259
260
+ // Init loads a database from file and returns it.
246
261
func Init (libraryFile string ) * DB {
247
262
libs , err := LoadFromFile (libraryFile )
248
263
if err != nil {
0 commit comments