-
-
Notifications
You must be signed in to change notification settings - Fork 2
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
Use Versionaire instead #2
Comments
Hi @bkuhlmann ! First, the good. I agree with everything you said. 😄 This was merely an extraction of the existing very simple code that has long been in the I absolutely will be pointing people to I did an extensive search of the landscape of "versioning" gems before writing this one. I had no desire to throw another log on the fire unless it was required. So, the bad news is, I still think it is required, at least in the case of the Your gem, while awesome, starts supporting a minimum of Ruby 2.3 even going back all the way to release 1.0, with current release being at I have begun adding So I need to figure out how to do a better job of the version introspection, and probably should do like your gem does... Now for the really bad part... The solution has to support the
Hopefully we can figure out a way to merge most/all of your approach with an approach that A) supports OLD ruby, and B) falls back to a standard Ruby String so the Gemspec is satisfied. Lastly, I had never, until now, come across alchemists, and I love what you are doing there. I'll be signing up. |
- Explain the purpose of this gem - ref: #2
@bkuhlmann As an aside, what is the reasoning behind building PKCE with no connection to the |
Actually, now that you mention it, I do recall seeing this embeded within the OAuth gem when I was source diving a while back. Thanks, this makes more sense now.
Thanks!
Yeah, I'd like to see this landscape narrow rather than expand as well. 😅
OK, that's a valid point and was wondering if that was the case. I wasn't aware you supported all the way back to Ruby 1.x.x. Wow.
Fair. I generally don't support older versions myself since -- as an open source maintainer -- I very seldom get funding for any of my work so generally focus on staying current with Ruby. Totally understand that some projects can't or might not even be able to do that.
Ha, being a consultant, I like to think optimistically like this too but in reality, many don't test (or test well). I guess I'll always have a job, though. 😅
OK, I was wondering about that although not sure I completely follow this use case? I'm assuming there is some sticky legacy situation in which the version information must be delayed in loading or it'll cause a conflict with this gem being installed/used?
Thanks. 😅 Yeah, people keep telling me to advertise more but I'm still in grass roots mode. I suppose I'll have to get more used to marketing myself more in the future.
Yeah, good question. A couple reasons for the decision but not due to licensing:
That's the primary reason. I ended up opening sourcing the solution in hopes it might be of help to others that needed small but simple gems for their needs. I debated whether the community would like or care about this gem but eventually thought it could be of help to some specific use cases, like mine. I could take it down if you think it conflicts or distracts from the work you are doing in this space. |
No need to take it down. I have intended to move more of my work in the direction of the dry tools, but haven't been able to focus long enough to really dig into them beyond deciding it was generally a "better way".
Basically when you load a If we use a gem to enhance it later then that's fine. And maybe I could do that with versionaire, but most of the tools I support are highly legacy. I have multiple gems that still support ruby 1.8 (because they are RSpec plugins, and RSpec still supports ruby 1.8). |
Yeah, there are good and bad parts to the Dry RB ecosystem but, for the most part, it's an elegant blending of Object Oriented and Functional Programming principals. 🎉 Ah, I see what you are saying now regarding gem version information. I've got a solution for this but, unfortunately, it requires a modern version of Ruby to use and might still not address your primary needs. Regardless, here's a quick summary in case it's of interest/help:
Anyway, maybe the above might be of some help or at least provide an alternate way to tackle and solve this problem. |
Moved to GitLab! |
Hello. 👋 This isn't really an issue in the truest sense but wasn't sure where to log this information so opted to create an issue on this project instead. I was surprised to see this gem show up and had only stumbled across it because I had been doing some OAuth work as of late.
Anyway, I'm the maintainer of the Vesionaire gem -- which is actively maintained -- where I had solved this issue back in 2016. I've written and spoken about versioning within Ruby for many years and use Versionaire in all of my projects.
The main qualm I have this with the design of this gem and my gem is that while we are both adding version support to Ruby but this project is not providing a primitive type. In essence a whole value object that is immutable but easily comparable. With structs you now have proper encapsulation of version data which provides a richer experience. It looks like there are performance concerns (although, I've not checked) since the design of this gem constantly requires one to obtain major, minor, patch level information by constantly converting to an array and then using magic numbers to pluck out which segment of the version you want to use. This operation is done repeatedly throughout this design.
Anyway, I'm not sure what actions are to be taken here. Mostly wanted to pop up and express concerns with this design and how it conflicts with an established gem. If anything, I'd think you'd want to point people to the Versionaire gem since it provides a much more robust Object API. 😅
The text was updated successfully, but these errors were encountered: