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  }