My first DEV PR and post!
Glenn Carremans

Glenn Carremans @glennmen

About: Native Android developer/Consultant for Appwise, I work on custom projects for clients. PHP/JS (web) developer in my freetime. Trying to keep learning in an ever changing tech world.

Location:
Belgium
Joined:
Oct 6, 2018

My first DEV PR and post!

Publish Date: Feb 7 '19
53 13

Yesterday my very first DEV PR got merged!
I didn't have any experience in Ruby so I wanted to do something easy, I came across this Issue/Feature request from @jess.

3 year badge #1562

Is your feature request related to a problem? Please describe. Let's award 3 year badges when members hit their 3 year mark!

Even though the Issue wasn't approved yet I felt pretty confident that it wouldn't be an issue because it was a suggestion from a DEV co-founder 😂

The PR itself was fairly easy, I could base my code on the already available 2 year anniversary badge with little changes required.

Added 3 year anniversary badge #1732

What type of PR is this? (check all applicable)

  • [ ] Refactor
  • [X] Feature
  • [ ] Bug Fix
  • [ ] Documentation Update

Description

Added 3 year anniversary badge, I hope to get this badge some day 😉 Btw this is the very first time I ever did anything in Ruby so please let me know if I did anything wrong.

Related Tickets & Documents

Closes #1562

Mobile & Desktop Screenshots/Recordings (if there are UI changes)

Added to documentation?

  • [ ] docs.dev.to
  • [ ] readme
  • [X] no documentation needed

[optional] What gif best describes this PR or how it makes you feel?

happy birthday

After that the PR got reviewed and merged very quickly by @ben.

I hope to stay in this awesome community long enough to receive this badge!


This is my very first blog post on DEV (and first blog post in general) I hope to not only lurk and comment but in the future make more blog posts, also a little more technical posts.


And besides my very first DEV PR and post I have also received my very first DEV Badge! 🎉

Comments 13 total

  • Nick Taylor
    Nick TaylorFeb 7, 2019

    Congrats Glenn on getting your first PR merged! 🔥

    • Glenn Carremans
      Glenn CarremansFeb 7, 2019

      Thanks! It wasn't that big of a change and I am sure anyone could have done it but it still feels great to be able to contribute to this community.

  • James Hickey
    James HickeyFeb 7, 2019

    Good stuff!

  • Itachi Uchiha
    Itachi UchihaFeb 7, 2019

    This week my second dev.to pr merged. I’m so happy. This makes me feel better. Being part of the dev.to contributors is awesome.

    Thanks @ben

  • Ben Halpern
    Ben HalpernFeb 7, 2019

    This was one of those tasks I was sure we were going to put off for way too long.

    We still don't have a four-year badge designed, but I feel like this part of the code now could probably be refactored to account for an arbitrary number of years, and maybe take an environment variable to determine how many to iterate through.

    Anyone who wants to refactor this so we don't need to add a new method every year is welcome to submit another PR at some point in the next 11 or so months. 😄

    • Glenn Carremans
      Glenn CarremansFeb 7, 2019

      Interesting, this would indeed be a good improvement to be more future proof. Only thing you still would need to do is prepare the designs for the upcoming years but you could make a couple at once so you will be good for a few years 😉

      I am triggered by this challenge but am afraid that my knowledge in Ruby isn't good enough right now.

      • Andrew Bone
        Andrew BoneFeb 8, 2019

        I'd guess something like this

        def self.award_x_year_badges(x)
          @n = {1=>"one", 2=>"two", 3=>"three",4=>"four", 5=>"five", 6=>"six", 7=>"seven", 8=>"eight", 9=>"nine", 10=>"ten"}
          s = x == 1 ? "" : "s"
          message = "Happy DEV birthday! Can you believe it's been #{@n[x]} year#{s} already?!"
          User.where("created_at < ? AND created_at > ?", (x).year.ago, (x * 365 + 2).days.ago).find_each do |user|
            achievement = BadgeAchievement.create(
              user_id: user.id,
              badge_id: Badge.find_by_slug("#{@n[x]}-year-club").id,
              rewarding_context_message_markdown: message,
            )
            user.save if achievement.valid?
          end
        end
        
        for x in 1..10
          self.award_x_year_badges(x)
        end
        

        Though I don't really know ruby either 😅

        I'm not sure this line would work as expected

        User.where("created_at < ? AND created_at > ?", (x).year.ago, (x * 365 + 2).days.ago).find_each do |user|
        
  • Petry DeChamp Richardson
    Petry DeChamp RichardsonFeb 7, 2019

    dude!! So awesome! You totally encouraged me to try this myself. I literally looks at the repo the other day and was going to fix an issue (also not a ruby dev) but I was like... no they probably won't want me to. Thanks to you, I know I should!

    • Glenn Carremans
      Glenn CarremansFeb 7, 2019

      Awesome! I never expected that I was going to encourage anyone to contribute with my small PR and post 😂 But so happy that I did!
      I thought the same in the past with a Node project (cdnjs.com) after a year, during Hacktoberfest, I finally did it and it was a lot of fun. I have tried different small projects/tweaks in the past, python, node and now ruby, always fun to step out of your comfort zone and just mess around.

      • Petry DeChamp Richardson
        Petry DeChamp RichardsonFeb 7, 2019

        Ya! you made a big step today. I was blown away by what happens when you put yourself out there. It helps others, so thank you!

  • Kyle Boe
    Kyle BoeFeb 8, 2019

    Nice! I had one merged a couple weeks ago too. Feels good man.

    Welcome to the PR-ty ! ☜(゚ヮ゚☜)

    I'll_see_myself_out_

    • Glenn Carremans
      Glenn CarremansFeb 8, 2019

      Awesome PR! Everyone needs a little music in their life 😉

  • Azel Tan
    Azel TanFeb 8, 2019

    Congrats!! Keep it up and treasure that feeling to keep going :)

Add comment