in pkg/ruby/ruby.go [130:172]
func NeedsRailsAssetPrecompile(ctx *gcp.Context) (bool, error) {
isRailsApp, err := ctx.FileExists("bin", "rails")
if err != nil {
return false, fmt.Errorf("finding bin/rails: %w", err)
}
if !isRailsApp {
return false, nil
}
assetsExists, err := ctx.FileExists("app", "assets")
if err != nil {
return false, err
}
if !assetsExists {
return false, nil
}
manifestExists, err := ctx.FileExists("public", "assets", "manifest.yml")
if err != nil {
return false, err
}
if manifestExists {
return false, nil
}
matches, err := ctx.Glob("public/assets/manifest-*.json")
if err != nil {
return false, fmt.Errorf("finding manifets: %w", err)
}
if matches != nil {
return false, nil
}
matches, err = ctx.Glob("public/assets/.sprockets-manifest-*.json")
if err != nil {
return false, fmt.Errorf("finding sprockets-manifets: %w", err)
}
if matches != nil {
return false, nil
}
return true, nil
}