Skip to content

Instantly share code, notes, and snippets.

@flickgradley
flickgradley / data_diff.rb
Created August 6, 2023 03:58
#diff method for Ruby Data classes
Measure = Data.define(:amount, :unit) do
def diff(other)
raise ArgumentError.new("other must be same class") unless other.is_a?(self.class)
members.inject({}) do |memo, key|
thisVal, otherVal = send(key), other.send(key)
memo[key] = [thisVal, otherVal] unless thisVal == otherVal
memo
end
@lleyton
lleyton / translation.md
Last active January 14, 2026 12:07
(ENG) Open Source Business Challenges and Reality, Rui Ueyama

Open Source Business Challenges and Reality

Original Japanese note here.

Original Author: Rui Ueyama (creator of the mold linker)

Translated by @windowsboy111

Minimally edited by @lleyton

@thiagofm
thiagofm / avoiding_nils.rb
Created October 5, 2022 10:32
Avoiding nils in Ruby
# Using OpenStruct to mimic an object with the 'posts method'
user = OpenStruct.new(posts: [:post1, :post2])
# Using if user as a nil checker
user.posts if user
# => [:post1, :post2]
# Can be replaced with the safe navigation operator
user&.posts
# => [:post1, :post2]
@marekciupak
marekciupak / validating_http_parameters.md
Last active July 27, 2024 02:20
Ruby on Rails: Validating HTTP parameters

Validating HTTP parameters

Let's say you need to handle the following action:

class UsersController < ApplicationController
  def update
    user = User.find(id)
    result = update_user(user, attrs)
    
@baweaver
baweaver / ruby_books.md
Last active November 2, 2025 22:21
A list of books for learning and expanding on your Ruby knowledge.

Ruby Book List

Learning Ruby

You're taking your first steps into Ruby

A good introduction to programming in general. Easy on newer programmers.

@ankurk91
ankurk91 / github_gpg_key.md
Last active March 31, 2026 18:26
Signing git commits using GPG (Ubuntu/Mac)

Github : Signing commits using GPG (Ubuntu/Mac) 🔐

  • Do you have an Github account ? If not create one.
  • Install required tools
  • Latest Git Client
  • gpg tools
# Ubuntu
sudo apt-get install gpa seahorse
# MacOS with https://brew.sh/
@ryansobol
ryansobol / symbols.md
Last active August 6, 2024 14:51
Symbols in Ruby

What's a Symbol and why is it imporant?

In Ruby, a Symbol is the most efficient way, in terms of time and memory, to represent a set of characters.

What does a Symbol look like?

Most commonly, a Symbol is a single word prefixed by a colon:

:hello
@emad-elsaid
emad-elsaid / pdf2txt.rb
Created March 23, 2014 13:06
PDF to Text converter using ruby
#!/usr/bin/env ruby
require 'pdf/reader' # gem install pdf-reader
# credits to :
# https://github.com/yob/pdf-reader/blob/master/examples/text.rb
# usage example:
# ruby pdf2txt.rb /path-to-file/file1.pdf [/path-to-file/file2.pdf..]
ARGV.each do |filename|
PDF::Reader.open(filename) do |reader|
@jcasimir
jcasimir / better_rails_through_better_ruby.markdown
Created September 13, 2011 18:32
Better Rails Through Better Ruby

The Problem is Your Ruby

(Intro)

Stop Trying

Stop trying to be an expert at Rails.

Is it Hard?