Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove new_*() and rbundle_restore() #93

Merged
merged 5 commits into from
Apr 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ Authors@R: c(
person("Posit Software, PBC", role = c("cph", "fnd"))
)
Description: Provides tools for defining recurrence rules and recurrence
bundles. Recurrence rules are a programmatic way to define a recurring
sets. Recurrence rules are a programmatic way to define a recurring
event, like the first Monday of December. Multiple recurrence rules
can be combined into larger recurrence bundles. Together, these
can be combined into larger recurrence sets. Together, these
provide a system for adjusting and generating sequences of dates while
simultaneously skipping over dates in a recurrence bundle's event set.
simultaneously skipping over dates in a recurrence set's event set.
License: MIT + file LICENSE
URL: https://github.com/DavisVaughan/almanac
BugReports: https://github.com/DavisVaughan/almanac/issues
Expand Down
13 changes: 3 additions & 10 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ S3method(print,rintersect)
S3method(print,rrule)
S3method(print,rsetdiff)
S3method(print,runion)
S3method(rbundle_restore,default)
S3method(rbundle_restore,rbundle)
S3method(rbundle_restore,rintersect)
S3method(rbundle_restore,rsetdiff)
S3method(rbundle_restore,runion)
S3method(rschedule_events,default)
S3method(rschedule_events,radjusted)
S3method(rschedule_events,rcustom)
Expand All @@ -19,6 +14,9 @@ S3method(rschedule_events,rrule)
S3method(rschedule_events,rschedule)
S3method(rschedule_events,rsetdiff)
S3method(rschedule_events,runion)
S3method(rset_restore,rintersect)
S3method(rset_restore,rsetdiff)
S3method(rset_restore,runion)
S3method(vec_arith,almanac_stepper)
S3method(vec_arith.Date,almanac_stepper)
S3method(vec_arith.almanac_stepper,Date)
Expand Down Expand Up @@ -49,13 +47,8 @@ export(alma_seq)
export(alma_step)
export(daily)
export(monthly)
export(new_rbundle)
export(new_rintersect)
export(new_rschedule)
export(new_rsetdiff)
export(new_runion)
export(radjusted)
export(rbundle_restore)
export(rcustom)
export(recur_for_count)
export(recur_on_day_of_month)
Expand Down
10 changes: 10 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# almanac (development version)

* The following developer facing functions have been removed because they are
either no longer applicable or provided extension mechanisms that are not
very useful in practice (#93):

* `new_rbundle()`
* `new_runion()`
* `new_rintersect()`
* `new_rsetdiff()`
* `rbundle_restore()`

* The family of `add_*()` functions has been deprecated (#92).

* `add_rschedule()` has been deprecated in favor of using the `...` argument
Expand Down
2 changes: 1 addition & 1 deletion R/adjustments.R
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
#'
#' @param rschedule `[rschedule]`
#'
#' An rschedule, such as an rrule or rbundle.
#' An rschedule, such as an rrule, runion, rintersect, or rsetdiff.
#'
#' @return
#' An adjusted vector of Dates.
Expand Down
2 changes: 1 addition & 1 deletion R/alma-in.R
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#' rrule2 <- monthly() %>%
#' recur_on_day_of_month(2)
#'
#' # Make a larger rbundle made of multiple rules
#' # Make a larger set of multiple rules
#' rb <- runion(rrule, rrule2)
#'
#' alma_in(x, rb)
Expand Down
86 changes: 67 additions & 19 deletions R/almanac-deprecated.R
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ recur_on_ymonth <- function(x, ymonth) {

# ------------------------------------------------------------------------------

#' Deprecated rbundle helpers
#' Deprecated rset helpers
#'
#' @description
#' `r lifecycle::badge("deprecated")`
Expand All @@ -121,23 +121,23 @@ recur_on_ymonth <- function(x, ymonth) {
#'
#' @inheritParams adj_following
#'
#' @param x `[rbundle]`
#' @param x `[rset]`
#'
#' An rbundle to add to.
#' An rset to add to.
#'
#' @param rdates `[Date]`
#'
#' Dates to forcibly include in the rbundle.
#' Dates to forcibly include in the rset.
#'
#' @param exdates `[Date]`
#'
#' Dates to forcibly exclude from the rbundle.
#' Dates to forcibly exclude from the rset.
#'
#' @return
#' An updated rbundle.
#' An updated rset.
#'
#' @keywords internal
#' @name rbundle-add
#' @name rset-add
#' @examples
#' on_thanksgiving <- yearly() %>%
#' recur_on_day_of_week("Thurs", nth = 4) %>%
Expand Down Expand Up @@ -177,7 +177,7 @@ recur_on_ymonth <- function(x, ymonth) {
#' alma_search("2019-01-01", "2021-01-01", rb2)
NULL

#' @rdname rbundle-add
#' @rdname rset-add
#' @export
add_rschedule <- function(x, rschedule) {
lifecycle::deprecate_warn(
Expand All @@ -187,21 +187,21 @@ add_rschedule <- function(x, rschedule) {
always = TRUE
)

check_rbundle(x)
check_rset(x)
check_rschedule(rschedule)

rschedules <- c(x$rschedules, list(rschedule))

out <- new_rbundle(
out <- new_rset(
rschedules = rschedules,
rdates = x$rdates,
exdates = x$exdates
)

rbundle_restore(out, x)
rset_restore(out, x)
}

#' @rdname rbundle-add
#' @rdname rset-add
#' @export
add_rdates <- function(x, rdates) {
lifecycle::deprecate_warn(
Expand All @@ -211,23 +211,23 @@ add_rdates <- function(x, rdates) {
always = TRUE
)

check_rbundle(x)
check_rset(x)
rdates <- vec_cast_date(rdates)

rdates <- vec_c(x$rdates, rdates)
rdates <- vec_unique(rdates)
rdates <- vec_sort(rdates)

out <- new_rbundle(
out <- new_rset(
rschedules = x$rschedules,
rdates = rdates,
exdates = x$exdates
)

rbundle_restore(out, x)
rset_restore(out, x)
}

#' @rdname rbundle-add
#' @rdname rset-add
#' @export
add_exdates <- function(x, exdates) {
lifecycle::deprecate_warn(
Expand All @@ -237,18 +237,66 @@ add_exdates <- function(x, exdates) {
always = TRUE
)

check_rbundle(x)
check_rset(x)
exdates <- vec_cast_date(exdates)

exdates <- vec_c(x$exdates, exdates)
exdates <- vec_unique(exdates)
exdates <- vec_sort(exdates)

out <- new_rbundle(
out <- new_rset(
rschedules = x$rschedules,
rdates = x$rdates,
exdates = exdates
)

rbundle_restore(out, x)
rset_restore(out, x)
}

check_rset <- function(x,
...,
allow_null = FALSE,
arg = caller_arg(x),
call = caller_env()) {
check_inherits(
x = x,
what = "rset",
allow_null = allow_null,
arg = arg,
call = call
)
}

# Internal generic
rset_restore <- function(x, to) {
UseMethod("rset_restore", to)
}

#' @export
rset_restore.rintersect <- function(x, to) {
new_rintersect(
rschedules = x$rschedules,
rdates = x$rdates,
exdates = x$exdates
)
}

#' @export
rset_restore.runion <- function(x, to) {
new_runion(
rschedules = x$rschedules,
rdates = x$rdates,
exdates = x$exdates
)
}

#' @export
rset_restore.rsetdiff <- function(x, to) {
new_rsetdiff(
rschedules = x$rschedules,
rdates = x$rdates,
exdates = x$exdates
)
}

# ------------------------------------------------------------------------------
86 changes: 0 additions & 86 deletions R/rbundle-set.R

This file was deleted.

Loading