Skip to content

Instantly share code, notes, and snippets.

@masa-x
Created February 4, 2018 01:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save masa-x/63a34c2fb47102fd41e9f549159c6ab5 to your computer and use it in GitHub Desktop.
Save masa-x/63a34c2fb47102fd41e9f549159c6ab5 to your computer and use it in GitHub Desktop.
go web sample - web presenter
package interfaceadapter
type WebPresenter struct {
mExternalDevice ExternalDevice
}
func NewWebPresenter(aExternalDevice ExternalDevice) *WebPresenter {
return &WebPresenter{
mExternalDevice:aExternalDevice,
}
}
func (r WebPresenter) Output(aDataSource map[string]string){
if aDataSource["result"] == "Failed" {
r.mExternalDevice.Display("<b>Failed.</b>")
}else{
r.mExternalDevice.Display("<b>Successfully completed.</b>")
}
r.mExternalDevice.Display("<table>")
r.displayIfDataSourceIsExists(aDataSource, "Process:", "process")
r.displayIfDataSourceIsExists(aDataSource, "Amount:", "amount_of_money")
r.displayIfDataSourceIsExists(aDataSource, "Balance:", "balance")
r.mExternalDevice.Display("</table>")
}
func (r WebPresenter)displayIfDataSourceIsExists(aDataSource map[string]string, dataSourceDisplayName string, dataSourceKey string){
if value, ok := aDataSource[dataSourceKey]; ok{
r.mExternalDevice.Display("<tr><td>" + dataSourceDisplayName + "</td><td>" + value + "</td></tr>")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment