Skip to content

Instantly share code, notes, and snippets.

Avatar
🚗
Building @ejaro, We are hiring!

Omar Bahareth obahareth

🚗
Building @ejaro, We are hiring!
View GitHub Profile
@obahareth
obahareth / faraday_ssl_example.rb
Created Jul 19, 2022
An example on how to configure Faraday for SSL using client certificates, a private key, and a certificate authority file. This can help if you're getting errors like: TypeError (wrong argument type String (expected OpenSSL/X509))
View faraday_ssl_example.rb
# Taken from https://gist.github.com/mdeiters/975231?permalink_comment_id=3015720#gistcomment-3015720
def self.ping
connection = Faraday::Connection.new 'https://host:443/ping', ssl: {
ca_file: 'config/credentials/ROOT_CA.cer',
client_key: OpenSSL::PKey::RSA.new(File.read('config/credentials/client.key')),
client_cert: OpenSSL::X509::Certificate.new(File.read('config/credentials/agent.cer'))
}
connection.get.body
end
@obahareth
obahareth / extract_enum_mappings.md
Last active Nov 30, 2021
Extract Ruby on Rails enum values into a dictionary (represented by markdown tables).
View extract_enum_mappings.md

README

Sometimes you have members from your data team who are looking at the database and have no idea what the enum integer values mean. This snippet of code helps to extract the readable names for those integers into markdown tables to help out your data team.

There are alternative approaches by using string enums via gems, or database enums, but this was made for an environment where those weren't an option (legacy enums, and no database enums available).

You could also put this into a Rake task and publish it into a wiki.

Usage

View redis_hash_store.rb
module RedisHashStore
extend self
class Entry
attr_reader :value
def initialize(value, expires_in:)
@value = value
@created_at = Time.now.to_f
@expires_in = expires_in
@obahareth
obahareth / Gemfile
Created Jul 5, 2020 — forked from dhh/Gemfile
HEY's Gemfile
View Gemfile
ruby '2.7.1'
gem 'rails', github: 'rails/rails'
gem 'tzinfo-data', '>= 1.2016.7' # Don't rely on OSX/Linux timezone data
# Action Text
gem 'actiontext', github: 'basecamp/actiontext', ref: 'okra'
gem 'okra', github: 'basecamp/okra'
# Drivers
@obahareth
obahareth / install_notion_rtl.go
Created Jan 7, 2020
A Go script to install Notion RTL (on macOS only for now) for the desktop app. Sadly Notion recreates the HTML file this script modifies on whenever the app is relaunched, so the changes need to keep being reapplied.
View install_notion_rtl.go
package main
import (
"errors"
"fmt"
"io/ioutil"
"os"
"os/user"
"path/filepath"
"runtime"
View hyperpayPayments.js
const saveCardToHyperPay = data => {
var path = "/v1/registrations";
let cardBrand = Payment.fns.cardType(data.number);
if (cardBrand == "visa" || cardBrand == "master" || cardBrand == "mada") {
var cardData = querystring.stringify({
"authentication.userId": config.HYPERPAY.UserId,
"authentication.password": config.HYPERPAY.Password,
"authentication.entityId": config.HYPERPAY.EntityId,
paymentBrand: cardBrand.toUpperCase(),
"card.number": data.number || "",
@obahareth
obahareth / night.css
Last active Nov 12, 2019
Typora Night Theme with Pragmata Pro and Pragmata Pro Mono
View night.css
@import "night/mermaid.dark.css";
@import "night/codeblock.dark.css";
@import "night/sourcemode.dark.css";
:root {
--bg-color: #363B40;
--side-bar-bg-color: #2E3033;
--text-color: #b8bfc6;
--select-text-bg-color:#4a89dc;
@obahareth
obahareth / markdown-here.css
Created Nov 12, 2019
Markdown Here Primary CSS Styling (I only changed it to use the PragmataPro Font)
View markdown-here.css
/*
* NOTE:
* - The use of browser-specific styles (-moz-, -webkit-) should be avoided.
* If used, they may not render correctly for people reading the email in
* a different browser than the one from which the email was sent.
* - The use of state-dependent styles (like a:hover) don't work because they
* don't match at the time the styles are made explicit. (In email, styles
* must be explicitly applied to all elements -- stylesheets get stripped.)
*/
@obahareth
obahareth / nord.css
Created Nov 12, 2019
Nord highlight.js CSS theme
View nord.css
/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
title Nord highlight.js +
project nord-highlightjs +
version 0.1.0 +
repository https://github.com/arcticicestudio/nord-highlightjs +
author Arctic Ice Studio +
email development@arcticicestudio.com +
copyright Copyright (C) 2017 +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@obahareth
obahareth / config.yml
Created May 13, 2019
My Fusuma config
View config.yml
swipe:
2:
left:
command: 'xdotool key alt+Left'
right:
command: 'xdotool key alt+Right'
3:
left:
command: 'xdotool key alt+Left'
right: