Added Delete methods for slice elements to common attributes, entry, feed, person and source
This commit is contained in:
19
person.go
19
person.go
@@ -31,6 +31,17 @@ func (p *Person) AddExtension(e *ExtensionElement) {
|
||||
}
|
||||
}
|
||||
|
||||
// DeleteExtension deletes the Extension from the Person. It return an error.
|
||||
func (p *Person) DeleteExtension(id int) error {
|
||||
length := len(p.Extensions)
|
||||
if id > length {
|
||||
return fmt.Errorf("error deleting extension from person %v: id %v out of range %v", p, id, length)
|
||||
}
|
||||
|
||||
p.Extensions = append(p.Extensions[:id], p.Extensions[id+1:]...)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Check checks the Person for incompatibilities with RFC4287. It returns an
|
||||
// error.
|
||||
func (p *Person) Check() error {
|
||||
@@ -50,11 +61,9 @@ func (p *Person) Check() error {
|
||||
}
|
||||
}
|
||||
|
||||
if p.Extensions != nil {
|
||||
for i, e := range p.Extensions {
|
||||
if err := e.Check(); err != nil {
|
||||
return fmt.Errorf("extension element %v of person %v: %v", i, p, err)
|
||||
}
|
||||
for i, e := range p.Extensions {
|
||||
if err := e.Check(); err != nil {
|
||||
return fmt.Errorf("extension element %v of person %v: %v", i, p, err)
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user