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  }