51 lines
810 B
Go
51 lines
810 B
Go
package repo
|
|
|
|
type Option func(*Options)
|
|
|
|
type Options struct {
|
|
URL string
|
|
Project string
|
|
Name string
|
|
Branch string
|
|
AuthorName string
|
|
AuthorEmail string
|
|
PluginConfig PluginConfig
|
|
}
|
|
|
|
func WithProject(project string) Option {
|
|
return func(o *Options) {
|
|
o.Project = project
|
|
}
|
|
}
|
|
|
|
func WithName(name string) Option {
|
|
return func(o *Options) {
|
|
o.Name = name
|
|
}
|
|
}
|
|
|
|
func WithURL(url string) Option {
|
|
return func(o *Options) {
|
|
o.URL = url
|
|
}
|
|
}
|
|
|
|
func WithBranch(branch string) Option {
|
|
return func(o *Options) {
|
|
o.Branch = branch
|
|
}
|
|
}
|
|
|
|
func WithAuthor(name, email string) Option {
|
|
return func(o *Options) {
|
|
o.AuthorName = name
|
|
o.AuthorEmail = email
|
|
}
|
|
}
|
|
|
|
func WithPluginConfig(config PluginConfig) Option {
|
|
return func(o *Options) {
|
|
o.PluginConfig = config
|
|
}
|
|
}
|