1
1
2
- # result <- demo_crowding(
3
- # area = "WA",
4
- # areatype = "county",
5
- # crowding = "household with >1 person per room",
6
- # race = "All Races (includes Hispanic)"
7
- # )
8
-
9
2
# helper function to remove key from values
10
3
extract_values <- function (key , resp_metadata ) {
11
4
values <- resp_metadata [grep(key , resp_metadata )]
12
5
values <- gsub(paste0(" ^\\ s*" , key , " :?\\ s*" ), " " , values )
13
6
return (values )
14
7
}
15
8
9
+ # ' Custom print function
10
+ # '
11
+ # ' This custom print function processes the
12
+ # ' metadata output for a response object
13
+ # '
14
+ # ' @param x
15
+ # '
16
+ # ' @export
17
+ print.cancerprof_metadata <- function (x , ... ) {
18
+
19
+ cat(" \0 33[38;5;246m# Data Report: \0 33[39m" , " \n " )
20
+ cat(paste(x $ data_report , ' "\n ' , sep = " " , collapse = " " ), " \n " )
21
+
22
+ cat(" \0 33[38;5;246m# Sorted By: \0 33[39m" , " \n " )
23
+ cat(x $ sortedby , " \n " )
24
+ cat(" \n " )
25
+
26
+ cat(" \0 33[38;5;246m# Created By: \0 33[39m" , " \n " )
27
+ cat(x $ createdby , " \n " )
28
+ cat(" \n " )
29
+
30
+ cat(" \0 33[38;5;246m# Data Sources: \0 33[39m" , " \n " )
31
+ cat(x $ data_sources , " \n " )
32
+ cat(" \n " )
33
+
34
+ cat(" \0 33[38;5;246m# Data Dictionary: \0 33[39m" , " \n " )
35
+ cat(x $ data_dictionary , " \n " )
36
+ cat(" \n " )
37
+
38
+ cat(" \0 33[38;5;246m# Data Limitations: \0 33[39m" , " \n " )
39
+ cat(x $ data_limitations , " \n " )
40
+
41
+ invisible (x )
42
+ }
43
+
16
44
17
45
get_metadata <- function (input_tbl ) {
18
46
resp_metadata <- attr(input_tbl , " metadata" )
19
47
20
48
resp_metadata <- gsub(" \\\" " , " " , resp_metadata )
21
49
22
- report_header <- resp_metadata [1 ]
23
- data_report <- c(resp_metadata [2 ], resp_metadata [3 ], resp_metadata [4 ])
50
+ data_report <- c(resp_metadata [1 ], resp_metadata [2 ], resp_metadata [3 ], resp_metadata [4 ])
24
51
sortedby <- extract_values(" Sorted by" , resp_metadata )
25
52
createdby <- extract_values(" Created by" , resp_metadata )
26
53
data_sources <- extract_values(" Source" , resp_metadata )
@@ -29,13 +56,15 @@ get_metadata <- function(input_tbl) {
29
56
30
57
31
58
demo_metadata_list <- list (
32
- report_header = report_header ,
33
59
data_report = data_report ,
34
60
sortedby = sortedby ,
35
61
createdby = createdby ,
36
62
data_sources = data_sources ,
37
63
data_dictionary = data_dictionary ,
38
64
data_limitations = data_limitations
39
65
)
40
- return (demo_metadata_list )
66
+
67
+ class(demo_metadata_list ) <- c(" cancerprof_metadata" , class(demo_metadata_list ))
68
+
69
+ print.cancerprof_metadata(demo_metadata_list )
41
70
}
0 commit comments