Lucian Ghinda Profile picture
Product Engineer, Ruby on Rails Developer | Co-creator of @ideatifyapp | Curator of @shortrubynews | Writing Ruby email courses at https://t.co/yvZxCcL3Ob
Dec 5 11 tweets 4 min read
#GoodEnoughTesting #Applied #TestCase #Design

I like to apply when possible the test design techniques on real code. Here I reviewed a bit of code from the open source Rails app from @zammadhq and applied a systematic process to extract test cases: Image The first step is to extract test conditions that when looking at the code means to indentify what can be tested from the `check_name` method: Image
Oct 2 11 tweets 6 min read
Here is a list of community projects and directories try to show a list of companies and products using #Ruby or Ruby on #Rails.

If your company or project utilizes Ruby or any Ruby-based framework, consider adding it to these websites. Image These efforts benefit the community by offering job seekers resources and inspiration on what can be built with Ruby and Ruby on Rails.

They are important because they show potential projects and companies for those considering learning Ruby. Image
Aug 31 9 tweets 3 min read
When learning #Ruby on #Rails, you might learn RSpec or Minitest, know their DSLs and how to use the them to write model, controller, or integration tests.

There is often a gap in learning how to write good test cases. To address this, I am excited to prelaunch a workshop What does it mean to test a feature or a piece of code?
How do you know that the tests you wrote will actually catch bugs?
How many tests are enough? Image
Aug 30 6 tweets 2 min read
I prefer writing detailed Git commit messages.

For Pull Requests or Merge Requests with a single commit, I use the commit message as the body of the request.

But using the simple git log command displays the commit message but has some padding/indentation: Output from executing:    git log -1 There is a way to fix this by specifying the format

git log -1 --pretty='format:%s%n%n%b' Image
Aug 28 6 tweets 2 min read
Consider a list of predicates for an object and the fact that there is a logical priority of considering them.
This is just an example, so please do not focus on the requirements themselves. Image Left side contains a case statement without a case condition and the right side the same logic implemented with if/else.

Which one do you prefer and why? Image
Aug 22 7 tweets 2 min read
So let's talk about #testing and #Ruby and specifically about test design.

I think this could be a good conversation to sparkle so I am going to start sharing more about what I think about testing with some focus on Ruby and Ruby on Rails.

I will start with testing guidelines I think it is important when speaking about tests to think about 3 situations a developer can be when dealing with tests:

1️⃣ Verify requirements/document how it works

That is when writing the feature code and want to verify either (a) requirements and/or (b) document how it works.
Aug 9, 2023 9 tweets 2 min read
Ruby is on the rise according to the Stack Overflow Developer Survey 2023! Here are some insights I extracted from survey results: In the Most Popular Technology section, Ruby's adoption has grown to 6.23% in 2023, up from 6.05% in 2022. For professional developers, it's even higher at 6.94%
Sep 7, 2022 20 tweets 7 min read
Here is a simple and opinionated way to learn Ruby

I think learning Ruby has three parts:

1. Ruby Syntax
2. OOP + SOLID in Ruby
3. Idiomatic Ruby

What follows assumes you already know how to program in any other programming language. 1. Ruby Syntax:
First, read a bit about the Ruby syntax. You can find a short introduction to Ruby. (shameless plug) I tried to collect a lot of resources here, but you can also find some resources here. Do some small exercises if you feel like it just to get the syntax.
Aug 22, 2022 52 tweets 47 min read
I created the sixth issue of the @shortrubynews #shortruby

Read the entire issue here: newsletter.shortruby.com/p/issue-6-2022

So here is what happened in #Ruby on Twitter last week @shortrubynews @justalever shared a nice and simple piece of wisdom: