Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
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}"
end
end
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
end
class Person
View pre-push
#!/bin/sh
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
chalmagean / link_to_onclick
Last active May 31, 2018
link_to onclick
View link_to_onclick
@chalmagean
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
timestamps()
end
@doc """
@chalmagean
chalmagean / enc.ex
Last active Feb 21, 2021
RC4 encryption/decryption in Elixir/Erlang
View enc.ex
# Install https://github.com/rubencaro/cipher 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
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
select
[ onSelect ValueSelectedMsg ]
(List.map (\item -> option [ value (toString item.id) ] [ text item.name ]) 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