R/LS-class.R

Defines functions LoanSnapshotDataset

# library(fst)
setOldClass("fst_table")

#' LoanSnapshotDataset
#'
#' @slot path character.
#'
#' @import fst
#' @export
#'

setClass("LoanSnapshotDataset", contains   = "fst_table", slots = list(path="character"))

#' LoanSnapshotDataset constructor
#'
#' @param OrigYr Loans Origination Year
#'
#' @return object LoanSnapshotDataset
#' @export
#'
#' @examples
#' \dontrun{
#' LoanSnapshotDataset(2019)
#' }
LoanSnapshotDataset <- function(OrigYr) {
  if(missing(OrigYr)) {
    Last_P_fst <- file.path(fn_llp_workdir, sprintf("Last_P.fst"))
  } else {
    OrigYr <- as.integer(OrigYr)
    stopifnot(OrigYr %in% seq.int(1999,2019))
    Last_P_fst <- file.path(fn_llp_workdir, sprintf("Last_P_%d.fst", OrigYr))
  }
  stopifnot(file.exists(Last_P_fst))
  new("LoanSnapshotDataset", fst(Last_P_fst), path=Last_P_fst)
}

#' show LoanSnapshotDataset
#'
#' show Loan Snapshots data set
#'
#' @param object LoanSnapshotDataset
#'
#' @export
#'
setMethod("show", signature(object = "LoanSnapshotDataset"), function(object) {
  str(object, list.len=999)
  # print(asS3(object))
  print(metadata_fst(object@path ))
  #  print(summary(object))
  callNextMethod()
})
canarionyc/loanroll documentation built on Sept. 7, 2020, 4:50 a.m.