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

Ruby: Installing Ruby: Update to latest patch version #28403

Closed
2 tasks
JoshDevHub opened this issue Jul 14, 2024 · 10 comments · Fixed by #28434
Closed
2 tasks

Ruby: Installing Ruby: Update to latest patch version #28403

JoshDevHub opened this issue Jul 14, 2024 · 10 comments · Fixed by #28434
Assignees
Labels
Type: Easy Fix Involves a minor fix such as grammar, syntax, etc. Type: Good First Issue Good for beginner contributors

Comments

@JoshDevHub
Copy link
Contributor

JoshDevHub commented Jul 14, 2024

Problem

The Ruby install lesson tells learners to install 3.3.0. The newest patch version for Ruby with the latest security fixes is 3.3.4. Learners should install the latest available version.

Additionally in "Project Management" lesson, learners are told to run the command rbenv local 3.2.2 to declare the ruby version local to a project. This needs to be adjusted so it's not as dependent on the current Ruby version the curriculum is using

Acceptance Criteria

There's another important thing to give to folks that will run your code: the target Ruby version of your project. You can do it easily by running rbenv local 3.2.2 as it creates a .ruby-version file with the version declared - 3.2.2. Test the command out by using one of your rbenv installed Ruby versions. Run rbenv versions to see the list of Ruby versions you have installed.

Comment below to be assigned 🚀

@JoshDevHub JoshDevHub added Type: Good First Issue Good for beginner contributors Type: Easy Fix Involves a minor fix such as grammar, syntax, etc. labels Jul 14, 2024
@scheals
Copy link
Contributor

scheals commented Jul 14, 2024

I don't remember what my intention was with that Project Management bit and whether 3.2.2 was chosen because that's what I was used to running when going through the curriculum or just the first version that came into my head.

It's supposed to be an example, a version you could declare, not the one you necessarily have to declare.

It actually makes sense that your local version would differ from the globally used one. Since the problem on Discord was not connecting the fact that declaring a version requires you to have that version installed, I'd probably tackle it from another angle - perhaps by elaborating:

You can do it easily by for example running rbenv local 3.2.2 as it creates a .ruby-version file with the version declared - 3.2.2. Test the command out by using one of your rbenv installed Ruby verisons.

This would save on the necessity of changing Ruby version when curriculum changes the one it expects and perhaps make it clear that it does not matter what version is declared.

@MaoShizhong
Copy link
Contributor

Possibly related - would it be worth updating theodinproject's repo wiki to be version agnostic as well for what it currently has as rbenv local 3.2.2?

@dellaighted
Copy link
Contributor

Why not put the downloads page for ruby in the lesson and have students checkout what the latest version is before running the commands in the lesson? The version number is always changing so we can just say check the Ruby Downloads page to find the latest version 3.x.x (this is the version number you will be using in the commands in the following steps). Writing 3.x.x is more generic, and I think most people would understand that it's a placeholder for some version.

I would like to work on this issue!

@JoshDevHub
Copy link
Contributor Author

JoshDevHub commented Jul 15, 2024

I don't remember what my intention was with that Project Management bit and whether 3.2.2 was chosen because that's what I was used to running when going through the curriculum or just the first version that came into my head.

It's supposed to be an example, a version you could declare, not the one you necessarily have to declare.

It actually makes sense that your local version would differ from the globally used one. Since the problem on Discord was not connecting the fact that declaring a version requires you to have that version installed, I'd probably tackle it from another angle - perhaps by elaborating:

You can do it easily by for example running rbenv local 3.2.2 as it creates a .ruby-version file with the version declared - 3.2.2. Test the command out by using one of your rbenv installed Ruby verisons.

This would save on the necessity of changing Ruby version when curriculum changes the one it expects and perhaps make it clear that it does not matter what version is declared.

I think this idea is probably better than what I wrote above, but I also think it'd be nice to just give learners the command to list out their rbenv installed ruby versions.

So maybe have it be something like:

You can do it easily by for example running rbenv local 3.2.2 as it creates a .ruby-version file with the version declared - 3.2.2. Test the command out by using one of your rbenv installed Ruby versions. Run rbenv versions to see the list of Ruby versions you have installed.

Does that seem okay? @scheals

@JoshDevHub
Copy link
Contributor Author

Possibly related - would it be worth updating theodinproject's repo wiki to be version agnostic as well for what it currently has as rbenv local 3.2.2?

@MaoShizhong Yeah we can definitely do something with that. I'd probably advocate changing this to tell users to run the command with the version named in the .ruby-version file in the root of the repo: https://github.com/TheOdinProject/theodinproject/blob/main/.ruby-version -- that file is the authority on the version of Ruby being used by the main app.

Why not put the downloads page for ruby in the lesson and have students checkout what the latest version is before running the commands in the lesson? The version number is always changing so we can just say check the Ruby Downloads page to find the latest version 3.x.x (this is the version number you will be using in the commands in the following steps). Writing 3.x.x is more generic, and I think most people would understand that it's a placeholder for some version.

I would like to work on this issue!

This is another good idea @dellaighted. I probably slightly prefer what I have above with Scheals about listing out versions and using one. Teaches people that they can set the local to any of their installed versions and conveys more useful information about rbenv, while also being flexible and future-proofed against future version changes.

As soon as I get the go-ahead on what I wrote above from scheals, I'll assign this to you. Thank you for volunteering!

@MaoShizhong
Copy link
Contributor

@JoshDevHub awesome, I'll leave that bit with you then since you know better about me on that.

@scheals
Copy link
Contributor

scheals commented Jul 15, 2024

@JoshDevHub
Superb!

@JoshDevHub
Copy link
Contributor Author

Awesome!

I'll assign you @dellaighted . Adjusted the acceptance criteria to the new plan on the Project Management lesson. Let me know if you have any questions 👍

@dellaighted
Copy link
Contributor

dellaighted commented Jul 15, 2024

Just to be clear @JoshDevHub am I also doing the first part of the acceptance criteria (i.e. the Installing Ruby lesson)? Should I change the 3.3.0 to 3.3.4 or 3.x.x as I mentioned in my earlier comment? I'll work on the changes in the Project Management lesson in the meantime.

@JoshDevHub
Copy link
Contributor Author

Just to be clear @JoshDevHub am I also doing the first part of the acceptance criteria (i.e. the Installing Ruby lesson)? Should I change the 3.3.0 to 3.3.4 or 3.x.x as I mentioned in my earlier comment? I'll work on the changes in the Project Management lesson in the meantime.

In the Installing Ruby lesson, change all references to the Ruby version to 3.3.4 (replacing 3.3.0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Easy Fix Involves a minor fix such as grammar, syntax, etc. Type: Good First Issue Good for beginner contributors
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants