Files
gico/types/types.go

53 lines
1.2 KiB
Go

package types
import (
"fmt"
"strings"
"time"
)
type (
Month string
Author struct {
Name string `json:"name,omitempty"`
Email string `json:"email,omitempty"`
}
Commit struct {
Deleted int `json:"deleted,omitempty"`
Added int `json:"added,omitempty"`
FilesChanged int `json:"files_changed,omitempty"`
Message string `json:"message,omitempty"`
Hash string `json:"hash,omitempty"`
TimeStamp time.Time `json:"ts,omitempty"`
Author Author `json:"author,omitempty"`
Repo string `json:"repo,omitempty"`
Path string `json:"path,omitempty"`
}
DataSet map[time.Time]WorkDay
Freq []int
ExpFreq struct {
YearFreq Freq
Created time.Time
}
ExpRepos struct {
Commits [][]Commit
Created time.Time
}
ExpRepo struct {
Commits []Commit
Created time.Time
}
WorkDay struct {
Day time.Time `json:"day"`
Count int `json:"count"`
Commits []Commit `json:"commits,omitempty"`
}
)
func (c Commit) String() string {
return fmt.Sprintf("%s\t%s\t%s\t%s",
c.TimeStamp.Format("0"+time.Kitchen),
c.Author, c.Repo,
strings.TrimSpace(c.Message))
}