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

Needs to be updated to support Ruby 2.7.1 #88

Open
jasonperrone opened this issue May 21, 2020 · 18 comments
Open

Needs to be updated to support Ruby 2.7.1 #88

jasonperrone opened this issue May 21, 2020 · 18 comments

Comments

@jasonperrone
Copy link

Specifically this:
https://piechowski.io/post/last-arg-keyword-deprecated-ruby-2-7/

/home/jason/.rvm/gems/ruby-2.7.1@actioncue/gems/memoist-0.16.2/lib/memoist.rb:213: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call

@jasonperrone
Copy link
Author

jasonperrone commented May 27, 2021

This is broken in Ruby 3.0.1.

@jasonperrone
Copy link
Author

We may need to face the fact that Matthew may have passed away. There is no activity from him for a long time. This gem may need to be adopted.

@ojab
Copy link

ojab commented Sep 13, 2021

Why adopt it if alive gems with the same memoize method API already exists? There is not-null chance that your project already includes dry-core, so
include Memoist -> include Dry::Core::Memoizable or Memoist = Dry::Core::Memoizable somewhere and that's it.
There is not #unmemoize_all and other methods, but it's easy to add if needed and dry-rb ppl are usually pretty fast at merging stuff.

And there are other gems doing the same.

(I'm afraid that you're right and this gem wouldn't be updated)

@jasonperrone
Copy link
Author

OMG, that is so sad. Ugh.

Well, I forked the gem and modified it to work as I need so I'm good here. Thanks for the info, btw.

@tbsvttr
Copy link

tbsvttr commented Nov 18, 2021

@jasonperrone I think you mean Ruby 3.0.1 and not Rails?

@tbsvttr
Copy link

tbsvttr commented Nov 18, 2021

@ojab Dry::Core::Memoizable does not really seem to be really in the user space of dry-rb. There is no documentation for it other than this, which more or less says nothing: https://rubydoc.info/gems/dry-core/Dry/Core/Memoizable

@jasonperrone
Copy link
Author

@jasonperrone I think you mean Ruby 3.0.1 and not Rails?

Oops, sorry. That was clearly pre-coffee.

@mvastola
Copy link

Why adopt it if alive gems with the same memoize method API already exists?

Just came across this thread when trying to debug errors after upgrading to ruby3..

Does anyone know of any other drop-in (or close thereto) replacements for this gem? My only concern with dry-core is that their barely-documented memoize routines might be meant for internal use only and therefore could be subject to change without warning.

@pboling
Copy link
Contributor

pboling commented Jun 5, 2022

We may need to face the fact that Matthew may have passed away. There is no activity from him for a long time. This gem may need to be adopted.

@patbl @jasonperrone He died in 2019. https://brightonruby.com/2019/from-developer-to-architect-and-back-again-matthew-rudy-jacobs/

I've loved this gem for a long time, and for years was active in the issues and PRs. Would be happy to help with moving it to an org, keeping the memory of Matthew alive. Certainly feels like I worked with Matthew for a decade. Who's with me? I have no idea what the process is for handling repos of deceased developers, but surely Github has one?

@patbl
Copy link

patbl commented Jun 5, 2022

It sounds as though there isn't a process:

You could create a new account (maybe one named memoisthttps://github.com/memoist currently 404's), and fork the repo there.

@pboling
Copy link
Contributor

pboling commented Jun 5, 2022

Seems like this one should be archived, and an org can host a fork. I'll create the org.

@pboling
Copy link
Contributor

pboling commented Jun 5, 2022

I realized after creating the memoist org that @sebjacobs (who is Matthew's brother) actually has been maintaining this gem since Matthew's passing (at least until the end of 2020), but Seb hasn't been very active in the issues and PRs. I invited @sebjacobs to the new org, and am very interested to hear his thoughts on what direction to go here.

Seb has not been on GitHub in several months, and it is an uncharacteristically long absence (perhaps his longest ever?). He is still running, but unclear if still coding.

@patbl
Copy link

patbl commented Aug 13, 2022

@pboling Are you planning to publish any updates to https://github.com/memoist/memoist?

@pboling
Copy link
Contributor

pboling commented Aug 22, 2022

@patbl I am not sure how much time I'll have to work on it, though I am using the gem in production, so perhaps it could fold into my work day. But I am happy to add anyone to the org / repo that wants to work on it. I don't have rights to the gem itself, so it might need to hard-fork for a release.

Also, since creating the memoist org, I decided that I'll be moving the bulk of my FLOSS efforts to another platform that isn't so toxic to open source work and developers' rights. So if we do move forward with a hard fork, I'd suggest moving off GitHub to an entirely different platform.

@patbl
Copy link

patbl commented Jun 4, 2024

For people looking to move off Memoist, MemoWise seems like a good option.

@pboling
Copy link
Contributor

pboling commented Jun 4, 2024

I'll check it out. I've switched to using https://github.com/AlexWayfer/alt_memery, and I'm loving it, but looking over MemoWise, it is unambiguously superior. I'll be switching to MemoWise.

@pboling
Copy link
Contributor

pboling commented Jun 4, 2024

I've merged the PRs over on the memoist org, including Ruby 3 compat, and posted alerts directing people toward more maintained projects.

@pboling
Copy link
Contributor

pboling commented Jun 4, 2024

FYI: Added this alert to the new memoist repo

Important

Recommendation

Consider using MemoWise instead, as it is maintained, fully tested, provides thread safety guarantees, and is much, much faster.

Other Alternatives

In case you need a tool with this feature set that is currently maintained, check out:

Tip

Seriously though, read the important note above.

Warning

If you must continue - be aware that this is unmaintained software.

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

6 participants