github.com/Liam-Williams/i18n4go@v0.2.7-0.20201028180611-670cbaceaa6b/test_fixtures/extract_strings/d_option/input_files/quota/quota.go (about) 1 package quota 2 3 import () 4 5 type showQuota struct { 6 ui terminal.UI 7 config configuration.Reader 8 quotaRepo api.QuotaRepository 9 } 10 11 func NewShowQuota(ui terminal.UI, config configuration.Reader, quotaRepo api.QuotaRepository) *showQuota { 12 return &showQuota{ 13 ui: ui, 14 config: config, 15 quotaRepo: quotaRepo, 16 } 17 } 18 19 func (command *showQuota) Metadata() command_metadata.CommandMetadata { 20 return command_metadata.CommandMetadata{ 21 Name: "quota", 22 Usage: "CF_NAME quota QUOTA", 23 Description: "Show quota info", 24 } 25 } 26 27 func (cmd *showQuota) GetRequirements(requirementsFactory requirements.Factory, context *cli.Context) ([]requirements.Requirement, error) { 28 if len(context.Args()) != 1 { 29 cmd.ui.FailWithUsage(context, "quotas") 30 } 31 32 return []requirements.Requirement{ 33 requirementsFactory.NewLoginRequirement(), 34 }, nil 35 } 36 37 func (cmd *showQuota) Run(context *cli.Context) { 38 quotaName := context.Args()[0] 39 cmd.ui.Say("Getting quota %s info as %s...", quotaName, cmd.config.Username()) 40 41 quota, err := cmd.quotaRepo.FindByName(quotaName) 42 if err != nil { 43 cmd.ui.Failed(err.Error()) 44 } 45 46 cmd.ui.Ok() 47 48 table := terminal.NewTable(cmd.ui, []string{"", ""}) 49 table.Add([]string{"Memory", formatters.ByteSize(quota.MemoryLimit * formatters.MEGABYTE)}) 50 table.Add([]string{"Routes", fmt.Sprintf("%d", quota.RoutesLimit)}) 51 table.Add([]string{"Services", fmt.Sprintf("%d", quota.ServicesLimit)}) 52 table.Add([]string{"Paid service plans", formatters.Allowed(quota.NonBasicServicesAllowed)}) 53 table.Print() 54 }