Archived
Commit of all existing code.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package opds
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/lann/builder"
|
||||
"golang.org/x/tools/blog/atom"
|
||||
)
|
||||
|
||||
type entryBuilder builder.Builder
|
||||
|
||||
func (e entryBuilder) Title(title string) entryBuilder {
|
||||
return builder.Set(e, "Title", title).(entryBuilder)
|
||||
}
|
||||
|
||||
func (e entryBuilder) ID(id string) entryBuilder {
|
||||
return builder.Set(e, "ID", id).(entryBuilder)
|
||||
}
|
||||
|
||||
func (e entryBuilder) AddLink(link atom.Link) entryBuilder {
|
||||
return builder.Append(e, "Link", link).(entryBuilder)
|
||||
}
|
||||
|
||||
func (e entryBuilder) Published(published time.Time) entryBuilder {
|
||||
return builder.Set(e, "Published", atom.Time(published)).(entryBuilder)
|
||||
}
|
||||
|
||||
func (e entryBuilder) Updated(updated time.Time) entryBuilder {
|
||||
return builder.Set(e, "Updated", atom.Time(updated)).(entryBuilder)
|
||||
}
|
||||
|
||||
func (e entryBuilder) Author(author *atom.Person) entryBuilder {
|
||||
return builder.Set(e, "Author", author).(entryBuilder)
|
||||
}
|
||||
|
||||
func (e entryBuilder) Summary(summary *atom.Text) entryBuilder {
|
||||
return builder.Set(e, "Summary", summary).(entryBuilder)
|
||||
}
|
||||
|
||||
func (e entryBuilder) Content(content *atom.Text) entryBuilder {
|
||||
return builder.Set(e, "Content", content).(entryBuilder)
|
||||
}
|
||||
|
||||
func (e entryBuilder) Build() atom.Entry {
|
||||
return builder.GetStruct(e).(atom.Entry)
|
||||
}
|
||||
|
||||
// EntryBuilder is a fluent immutable builder to build OPDS entries
|
||||
var EntryBuilder = builder.Register(entryBuilder{}, atom.Entry{}).(entryBuilder)
|
||||
Reference in New Issue
Block a user