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

ASaDev, I want a storage mechanism #12

Open
ColinFay opened this issue Mar 28, 2023 · 1 comment
Open

ASaDev, I want a storage mechanism #12

ColinFay opened this issue Mar 28, 2023 · 1 comment
Assignees

Comments

@ColinFay
Copy link
Owner

Let's port of https://github.com/ColinFay/odds here.

With memory storage (cachem), disk storage (qs), and remote (memoise + bank)

@ilyaZar
Copy link
Contributor

ilyaZar commented Mar 28, 2023

Simply copied for now. Two things that came to my mind:

  1. Set self$path to private$path; this is taste, but one might prohibit direct access and work with setters/getters in the public interface to change the path with checks on the correctness/catching typos when changing the path etc.
  2. For adding storage (cachem) and remote memoise + bank either of:
    • make Storage class a skeleton/interface/abstract class with (private) members themselves being R6 classes of the type that is now added (from qs) in Port storage class from odds #13 and provide access to the other classes (for cachem/memoise+bank) through this interface
    • or, alternatively, define 3 separate R6 classes, one for each task (i.e. skip the interface class)

Since 2. is a design thing, and I have no idea where this is going, let me know the direction @ColinFay , I am happy to help!

@ColinFay ColinFay self-assigned this Mar 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants