Skip to content

Instantly share code, notes, and snippets.

Having fun learning new things every single day

Cezar Halmagean chalmagean

Having fun learning new things every single day
View GitHub Profile
View menu.rb
products = [
{ id: 1, name: "Foo" },
{ id: 2, name: "Bar" }
# display products
products.each_with_index { |prod, idx| puts "#{idx}. #{prod[:name]}" }
# user picked 1
cart << products[1][:id]
View typedd.rb
class Printer
def self.full_name(person)
"Your name is: #{person.fname} #{person.lname}"
class Person
attr_reader :fname, :lname
def initialize(fname, lname)
View typedd.rbi
# typed: true
class Printer
extend T::Sig
sig { params(person: Person).returns(String) }
def self.full_name(person); end
class Person
View pre-push
echo "Loading the test enviromnment..."
source .env.test
RAILS_ENV=test bundle exec rspec
if [[ $? != 0 ]]; then
echo "RSpec tests have failures. Push rejected."
exit 1
chalmagean / link_to_onclick
Last active May 31, 2018
link_to onclick
View link_to_onclick
chalmagean / model_uniqueness_constraint.exs
Last active Dec 8, 2016
Testing uniqueness constraints for models
View model_uniqueness_constraint.exs
defmodule Example.User do
use Example.Web, :model
schema "users" do
field :email, :string
@doc """
chalmagean / enc.ex
Last active Feb 21, 2021
RC4 encryption/decryption in Elixir/Erlang
View enc.ex
# Install first
require Cipher.Helpers, as: H
defmodule Enc do
@random_key H.env(:keyphrase) |> Cipher.Digest.generate_key
def stream_encrypt(xml) do
{_, result} =
:crypto.stream_init(:rc4, @random_key)
|> :crypto.stream_encrypt(xml)
chalmagean / onSelect.elm
Last active Dec 22, 2016
Elm onSelect decoder
View onSelect.elm
-- Assuming we have a list of items in the model (type alias Model = { items : List Item }
-- where Item is a record like { id : Int, name : String }
-- this goes in the view and generates an html dropdown
[ onSelect ValueSelectedMsg ]
( (\item -> option [ value (toString ] [ text ]) model.items)
targetSelectedIndex : Json.Decoder Int
View gist:d0e80a1b58204c937e15886087256898
# Purge merged branches
git branch --merged | grep -v "\*" | grep -v master | grep -v staging | grep -v develop | xargs -n 1 git branch -d
View Backup docker named volume
# Here's how to back up a named volume
# 1. Using a `ubuntu` image, we mount the named volume (`myproj_dbdata`) to a `/dbdata` folder inside the `ubuntu` container.
# 2. Then, we create a new folder inside the `ubuntu` container named `/backup`.
# 3. We then create an archive containing the contents of the `/dbdata` folder and we store it inside the `/backup` folder (inside the container).
# 4. We also mount the `/backup` folder from the container to the docker host (your local machine) in a folder named `/backups` inside the current directory.
docker run --rm -v myproj_dbdata:/dbdata -v $(pwd)/backups:/backup ubuntu tar cvf /backup/db_data_"$(date '+%y-%m-%d')".tar /dbdata