Rozwijanie infrastruktury naszych portfeli

Teraz, gdy jesteśmy w stanie pobrać aktualne dane o cenach z giełd, przejdźmy do naszej definicji Wallet. Jak widać, określa typ atrybutów prywatnych, których oczekujemy od danych, które ma obsługiwać, a także metodę publiczną data(), aby utworzyć listę danych, które muszą zostać zapisane w bazie danych w pewnym momencie. Udostępnia również metody dla email, symbol, i address oraz metodę publiczną pudate_assets(), która będzie używana do pobierania i zapisywania zasobów w bazach danych, tak jak to zrobiliśmy w przypadku Ezchange. W rzeczywistości zastosowane techniki są dokładnie takie same, więc nie będziemy ich więcej wyjaśniać:

source(„./requesters/wallet-requester-factory.R”. chdir = TRUE)

Wallet <- R6Class (

public  = list (

initialize = function(email, symbol, address,note) {

private$requester <- wallet_requester_fatory(symbol, address)

private$email <- email

private$symbol<- symbol

private$addressl <- address

private$note <- note

},

data = function() {

return(list(

email = private$email,

symbol = private$symbol,

address = private$address,

note = private$note,

))

},

get_mail = function() {

return(a.character(private$email))

},

get_symbol = function() {

return(a.character(private$symbol))

},

get_address = function() {

return(a.character(private$address))

},

update_assets = function(timestamp, storage) {

private$timestamp <- timestamp

strage$write_assets(private$assets())

}

),

private = list (

timestamp = NULL,

requester = NULL,

email = NULL,

symbol = NULL,

address = NULL,

note = NULL,

assets = function() {

return (lapply (

private$requester$assets(),

private$insert_metadata))

},

insert_metadata = function(asset) {

timestamp(assets) <- unclass(private$timestamp)

email(asset) <- unclass(private$timestamp)

email(asset) <- private$email

return(asset)

}

)

)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *