@@ -54,7 +54,7 @@ func (s StatementPrinter) Print(invoice Invoice, plays map[string]Play) (string,
5454 statementData .totalAmount = s .totalAmount (statementData )
5555 statementData .totalVolumeCredits = s .totalVolumeCredits (statementData )
5656
57- return PlainTextStatement { statementData }. Render ( ), nil
57+ return renderPlainText ( statementData ), nil
5858}
5959
6060func (StatementPrinter ) totalVolumeCredits (data StatementData ) int {
@@ -121,35 +121,31 @@ func (StatementPrinter) amountFor(aPerformance EnrichedPerformance) (int, error)
121121 return result , nil
122122}
123123
124- type PlainTextStatement struct {
125- data StatementData
126- }
127-
128124type StatementData struct {
129125 Customer string
130126 Performances []EnrichedPerformance
131127 totalAmount int
132128 totalVolumeCredits int
133129}
134130
135- func ( s PlainTextStatement ) Render ( ) string {
136- result := fmt .Sprintf ("Statement for %s\n " , s . data .Customer )
131+ func renderPlainText ( data StatementData ) string {
132+ result := fmt .Sprintf ("Statement for %s\n " , data .Customer )
137133
138- for _ , perf := range s . data .Performances {
134+ for _ , perf := range data .Performances {
139135 result += fmt .Sprintf (
140136 " %s: %s (%d seats)\n " ,
141137 perf .play .Name ,
142- s . usd (perf .amount ),
138+ usd (perf .amount ),
143139 perf .Audience ,
144140 )
145141 }
146142
147- result += fmt .Sprintf ("Amount owed is %s\n " , s . usd (s . data .totalAmount ))
148- result += fmt .Sprintf ("You earned %d credits\n " , s . data .totalVolumeCredits )
143+ result += fmt .Sprintf ("Amount owed is %s\n " , usd (data .totalAmount ))
144+ result += fmt .Sprintf ("You earned %d credits\n " , data .totalVolumeCredits )
149145 return result
150146}
151147
152- func ( PlainTextStatement ) usd (number int ) string {
148+ func usd (number int ) string {
153149 ac := accounting.Accounting {Symbol : "$" , Precision : 2 }
154150 return ac .FormatMoney (number / 100 )
155151}
0 commit comments