Skip to content

Commit 9160879

Browse files
committed
Roll dockerignore documentation
1 parent 329fdff commit 9160879

File tree

9 files changed

+314
-39
lines changed

9 files changed

+314
-39
lines changed

R/dockerignore-core.R

Lines changed: 100 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
1-
#' Create a new dockerignore object
1+
#' Create a new `dockerignore` object
22
#'
3-
#' @return A new, empty dockerignore object
3+
#' Creates an empty `dockerignore`` object that can be populated with patterns
4+
#' to ignore during Docker builds.
5+
#'
6+
#' @return
7+
#' A `dockerignore` object with a `patterns` character vector
8+
#'
9+
#' @examples
10+
#' # Create a new dockerignore object
11+
#' di <- dockerignore()
12+
#'
13+
#' # Add patterns
14+
#' di <- di_add(di, c(".git/", "*.log"))
15+
#'
16+
#' @seealso
17+
#' [di_add()] for adding patterns,
18+
#' [write_dockerignore()] for writing to a .dockerignore file, &
19+
#' [dk_template_ignore_common()] for adding common patterns
20+
#'
21+
#' @family dockerignore core functions
422
#' @export
523
dockerignore <- function() {
624
structure(
@@ -11,10 +29,29 @@ dockerignore <- function() {
1129
)
1230
}
1331

14-
#' Combine multiple dockerignore objects
32+
#' Combine multiple `dockerignore` objects
33+
#'
34+
#' Merges patterns from multiple `dockerignore` objects into a single one.
35+
#' This is useful for combining different template patterns.
36+
#'
37+
#' @param ... `dockerignore` objects to combine
1538
#'
16-
#' @param ... Dockerignore objects to combine
17-
#' @return A new dockerignore object with combined patterns
39+
#' @return
40+
#' A new `dockerignore` object with combined patterns from all inputs
41+
#'
42+
#' @examples
43+
#' # Create dockerignore objects with different patterns
44+
#' di_git <- dk_template_ignore_git()
45+
#' di_r <- dk_template_ignore_r()
46+
#'
47+
#' # Combine them
48+
#' di_combined <- c(di_git, di_r)
49+
#'
50+
#' @seealso
51+
#' [dockerignore()] for creating a new `dockerignore` object &
52+
#' [dk_template_ignore_common()] for adding common patterns
53+
#'
54+
#' @family dockerignore core functions
1855
#' @export
1956
c.dockerignore <- function(...) {
2057
args <- list(...)
@@ -39,17 +76,53 @@ c.dockerignore <- function(...) {
3976

4077
#' Test if an object is a dockerignore
4178
#'
79+
#' Checks whether the provided object is a valid `dockerignore` class object.
80+
#'
4281
#' @param x Object to test
43-
#' @return TRUE if x is a dockerignore, FALSE otherwise
82+
#'
83+
#' @return
84+
#' `TRUE` if `x` is a dockerignore object, `FALSE` otherwise
85+
#'
86+
#' @examples
87+
#' di <- dockerignore()
88+
#' is_dockerignore(di) # TRUE
89+
#' is_dockerignore(list()) # FALSE
90+
#'
91+
#' @seealso
92+
#' [dockerignore()] for creating a dockerignore object &
93+
#' [check_dockerignore()] for ensuring an object is a dockerignore (with error)
94+
#'
95+
#' @family dockerignore core functions
4496
#' @export
4597
is_dockerignore <- function(x) {
4698
inherits(x, "dockerignore")
4799
}
48100

49-
#' Ensure an object is a dockerignore
101+
#' Ensure an object is a `dockerignore`
102+
#'
103+
#' Verifies that the provided object is a valid `dockerignore` class object,
104+
#' throwing an error if not. Useful for validation inside functions that
105+
#' expect `dockerignore` objects.
50106
#'
51107
#' @param dockerignore Object to check
52-
#' @return Invisible TRUE if valid, error otherwise
108+
#'
109+
#' @return
110+
#' Invisibly returns `TRUE` if valid, otherwise throws an error
111+
#'
112+
#' @examples
113+
#' di <- dockerignore()
114+
#' check_dockerignore(di) # Valid, returns TRUE invisibly
115+
#'
116+
#' \dontrun{
117+
#' # This would throw an error
118+
#' check_dockerignore(list())
119+
#' }
120+
#'
121+
#' @seealso
122+
#' [is_dockerignore()] for checking if an object is a dockerignore &
123+
#' [dockerignore()] for creating a dockerignore object
124+
#'
125+
#' @family dockerignore core functions
53126
#' @export
54127
check_dockerignore <- function(dockerignore) {
55128
if (!is_dockerignore(dockerignore)) {
@@ -60,8 +133,26 @@ check_dockerignore <- function(dockerignore) {
60133

61134
#' Print method for dockerignore objects
62135
#'
63-
#' @param x A dockerignore object
136+
#' Displays the contents of a dockerignore object in a readable format,
137+
#' showing each pattern on a new line as it would appear in an
138+
#' actual .dockerignore file.
139+
#'
140+
#' @param x A `dockerignore` object
64141
#' @param ... Additional arguments (not used)
142+
#'
143+
#' @return
144+
#' Invisibly returns the dockerignore object
145+
#'
146+
#' @examples
147+
#' di <- dockerignore() |>
148+
#' di_add(c(".git/", "*.log", "node_modules/"))
149+
#' print(di)
150+
#'
151+
#' @seealso
152+
#' [dockerignore()] for creating a dockerignore object &
153+
#' [write_dockerignore()] for writing to a .dockerignore file
154+
#'
155+
#' @family dockerignore core functions
65156
#' @export
66157
print.dockerignore <- function(x, ...) {
67158
check_dockerignore(x)

R/dockerignore-io.R

Lines changed: 48 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,30 @@
1-
#' Read a .dockerignore file
1+
#' Read a **.dockerignore** file
22
#'
3-
#' @param file Path to .dockerignore file
4-
#' @return A dockerignore object
3+
#' Reads a **.dockerignore** file from disk into a `dockerignore` object that
4+
#' can be manipulated programmatically.
5+
#'
6+
#' @param file Path to **.dockerignore** file (default: `".dockerignore"`)
7+
#'
8+
#' @return
9+
#' A `dockerignore` object containing the parsed patterns
10+
#'
11+
#' @examples
12+
#' \dontrun{
13+
#' # Read an existing .dockerignore file
14+
#' di <- read_dockerignore()
15+
#'
16+
#' # Add more patterns
17+
#' di <- di_add(di, "*.tmp")
18+
#' }
19+
#'
20+
#' @details
21+
#' Empty lines and comments (lines starting with `#`) are filtered out.
22+
#'
23+
#' @seealso
24+
#' [dockerignore()] for creating a new dockerignore object &
25+
#' [write_dockerignore()] for writing a dockerignore to disk
26+
#'
27+
#' @family dockerignore I/O functions
528
#' @export
629
read_dockerignore <- function(file = ".dockerignore") {
730
if (!file.exists(file)) {
@@ -21,11 +44,29 @@ read_dockerignore <- function(file = ".dockerignore") {
2144
di
2245
}
2346

24-
#' Write a dockerignore object to a file
47+
#' Write a `dockerignore` object to a file
48+
#'
49+
#' Writes a `dockerignore` object to disk as a formatted **.dockerignore** file.
50+
#'
51+
#' @param dockerignore A `dockerignore` object
52+
#' @param file Output file path (default: `".dockerignore"`)
53+
#'
54+
#' @return
55+
#' Invisibly returns the `dockerignore` object
56+
#'
57+
#' @examples
58+
#' \dontrun{
59+
#' # Create and write a .dockerignore file
60+
#' dockerignore() |>
61+
#' di_add(c(".git/", "*.log")) |>
62+
#' write_dockerignore()
63+
#' }
64+
#'
65+
#' @seealso
66+
#' [read_dockerignore()] for reading a .dockerignore file from disk &
67+
#' [dockerignore()] for creating a new dockerignore object
2568
#'
26-
#' @param dockerignore A dockerignore object
27-
#' @param file Output file path (default: ".dockerignore")
28-
#' @return Invisible dockerignore object
69+
#' @family dockerignore I/O functions
2970
#' @export
3071
write_dockerignore <- function(dockerignore, file = ".dockerignore") {
3172
check_dockerignore(dockerignore)

man/c.dockerignore.Rd

Lines changed: 25 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/check_dockerignore.Rd

Lines changed: 26 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/dockerignore.Rd

Lines changed: 24 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/is_dockerignore.Rd

Lines changed: 19 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/print.dockerignore.Rd

Lines changed: 24 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)