github.com/Liam-Williams/i18n4go@v0.2.7-0.20201028180611-670cbaceaa6b/test_fixtures/extract_strings/d_option/input_files/quota/quotas.go (about) 1 package quota 2 3 import () 4 5 type ListQuotas struct { 6 ui terminal.UI 7 config configuration.Reader 8 quotaRepo api.QuotaRepository 9 } 10 11 func NewListQuotas(ui terminal.UI, config configuration.Reader, quotaRepo api.QuotaRepository) (cmd *ListQuotas) { 12 cmd = new(ListQuotas) 13 cmd.ui = ui 14 cmd.config = config 15 cmd.quotaRepo = quotaRepo 16 return 17 } 18 19 func (command *ListQuotas) Metadata() command_metadata.CommandMetadata { 20 return command_metadata.CommandMetadata{ 21 Name: "quotas", 22 Description: "List available usage quotas", 23 Usage: "CF_NAME quotas", 24 } 25 } 26 27 func (cmd *ListQuotas) GetRequirements(requirementsFactory requirements.Factory, c *cli.Context) (reqs []requirements.Requirement, err error) { 28 reqs = []requirements.Requirement{ 29 requirementsFactory.NewLoginRequirement(), 30 } 31 return 32 } 33 34 func (cmd *ListQuotas) Run(c *cli.Context) { 35 cmd.ui.Say("Getting quotas as %s...", terminal.EntityNameColor(cmd.config.Username())) 36 37 quotas, apiErr := cmd.quotaRepo.FindAll() 38 39 if apiErr != nil { 40 cmd.ui.Failed(apiErr.Error()) 41 return 42 } 43 cmd.ui.Ok() 44 cmd.ui.Say("") 45 46 table := terminal.NewTable(cmd.ui, []string{"name", "memory limit", "routes", "service instances", "paid service plans"}) 47 48 for _, quota := range quotas { 49 table.Add([]string{ 50 quota.Name, 51 formatters.ByteSize(quota.MemoryLimit * formatters.MEGABYTE), 52 fmt.Sprintf("%d", quota.RoutesLimit), 53 fmt.Sprintf("%d", quota.ServicesLimit), 54 formatters.Allowed(quota.NonBasicServicesAllowed), 55 }) 56 } 57 58 table.Print() 59 }