Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action interface {
// IsApplicableFor answers if an `Action` can be used for a given hook
// For example actions that verify the commit message are only applicable for
// the `commit-message` hook.
IsApplicableFor(hook string) bool
// Run executes the action
// This will either execute some functionality provided from CaptainHook
// or some external executable.
Run(action *configuration.Action) error
}
type ActionLog ¶
type ActionLog struct {
// contains filtered or unexported fields
}
func NewActionLog ¶
func NewActionLog() *ActionLog
func (*ActionLog) Add ¶
func (a *ActionLog) Add(item *ActionLogItem)
func (*ActionLog) Logs ¶
func (a *ActionLog) Logs() []*ActionLogItem
type ActionLogItem ¶
type ActionLogItem struct {
Conf *configuration.Action
CollectorIO *io.CollectorIO
Status int
}
func NewActionLogItem ¶
func NewActionLogItem(action *configuration.Action, collectorIO *io.CollectorIO, status int) *ActionLogItem
type Condition ¶
type Condition interface {
IsApplicableFor(hook string) bool
IsTrue(condition *configuration.Condition) bool
}
type HookBundle ¶
type HookBundle struct {
AppIO io.IO
Conf *configuration.Configuration
Repo git.Repo
Restriction *Restriction
}
func NewHookBundle ¶
func NewHookBundle(appIO io.IO, conf *configuration.Configuration, repo git.Repo, hooks []string) *HookBundle
type Restriction ¶
type Restriction struct {
// contains filtered or unexported fields
}
Restriction is responsible to restrict Action or Condition to specific hooks. For example Condition that requires staged files is only applicable for 'pre-commit' hooks.
func NewRestriction ¶
func NewRestriction(hooks []string) *Restriction
func (*Restriction) IsApplicableFor ¶
func (r *Restriction) IsApplicableFor(hook string) bool
Click to show internal directories.
Click to hide internal directories.