Skip to content

Instantly share code, notes, and snippets.

View beneggett's full-sized avatar

Ben Eggett beneggett

View GitHub Profile
@beneggett
beneggett / create_oauth_tables.rb
Last active August 28, 2023 18:03
Postgresql multiple schemas in rails
class DbSetup < ActiveRecord::Migration
def up
create_schema :oauth
create_table "oauth.oauth_applications" do |t|
t.string :name, null: false
t.string :uid, null: false
t.string :secret, null: false
t.text :redirect_uri, null: false
t.integer :owner_id, null: false
@beneggett
beneggett / cheatsheet.rb
Created January 13, 2023 16:25 — forked from mabenson00/cheatsheet.rb
Rails ActiveRecord JSON cheatsheet
# Basic key operators to query the JSON objects :
# #> : Get the JSON object at that path (if you need to do something fancy)
# -> : Get the JSON object at that path (if you don't)
# ->> : Get the JSON object at that path as text
# {obj, n} : Get the nth item in that object
# https://www.postgresql.org/docs/9.4/functions-json.html#FUNCTIONS-JSONB-OP-TABLE
# Date
# date before today
@beneggett
beneggett / sidekiq.service
Created November 11, 2022 20:53 — forked from sj26/sidekiq.service
systemd unit files for multiple sidekiq workers
[Unit]
Description=Sidekiq workers
# start as many workers as you want here
Wants=sidekiq@1.service
Wants=sidekiq@2.service
# ...
[Service]
Type=oneshot
ExecStart=/bin/true
@beneggett
beneggett / slugs
Last active September 14, 2022 17:24
slugs = %w[ a-g-c-da-costa-agape-assessoria-e-consultoria-educacional a-hora-do-saber aeoa-associacao-centro-educacional-olivia-araujo aldeiamirim-br alicerce-empreendimentos-educacionais-ltda anglo-21-anglo-chacara aldeiadaserra-br angloalphaville-br bauru-br dedracena-br anglogranjaviana-br anglo-itapema itapetininga-br itu-br jales-br lorena-br matao-br morumbi-br osasco-br paulinia1-br penapolis-br renovacaoindaiatuba-br renovacaosp-br salto-br sorocabaef1-br tatui-br treslagoas-br vargemgrande-br vargemgrande-br antares-unidade-6-ws apm-da-eefmt-prof-dagmar-ribas-trintade apm-da-eemft-m-theodora-pedreira-de-freitas arca-comunidade-educacional-i arquimedes-porto-ferreira arquimedes-santos-dumont arteceb aslan-br aslan-br aslans-course-ananindeua aslans-course-belem assoc-de-prot-e-assist-a-maternidade-e-a-infancia colegiojesusadolescente-br prudentina-br associacao-de-pais-e-professores-do-colegio-shalom-appcs ativa-idade basilio-s-colegio-curso basilio-scol-curso bom-comeco c-e-i-c-centro-de-estudos-inte
@beneggett
beneggett / polymorphic-associations-task.md
Last active July 17, 2022 05:06
Polymorphic Associations

Creating polymorphic associations

Create Tagging feature:

Create keywords to reference our media

Tag: name: (keyword)

Steps: 1 of 3

Ruby in 100 Minutes

About Ruby

Ruby was written to make the programmer's job easy and not care if the computer's job is hard. In this brief introduction we'll look at the key language features you need to get started.

Key Language features

  1. Instructions and Interpreters
@beneggett
beneggett / ruby-encryptor-exercise.md
Created September 24, 2013 22:26
Ruby Encryptor Exercise

Encryptor

Have you ever wanted to send a secret message?

The Plan

Today we use computers to mask messages every day. When you connect to a website that uses "https" in the address, it is running a special encoding on your transmissions that makes it very difficult for anyone to listen in between you and the server.

@beneggett
beneggett / multi_provider_saml_handler.rb
Created August 19, 2019 20:13 — forked from jturkel/multi_provider_saml_handler.rb
How to configurate omniauth-saml to work with multiple identity providers based on a dynamic URL path segment. A gem based on this idea has been extracted to https://github.com/salsify/omniauth-multi-provider-saml.
require 'omniauth'
require 'omniauth-saml'
class MultiProviderSamlHandler
UUID_REGEX = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
attr_reader :path_prefix, :provider_name
def initialize(path_prefix: OmniAuth.config.path_prefix, provider_name: 'saml')
@path_prefix = path_prefix
@beneggett
beneggett / fizz-buzz-ruby.md
Last active January 23, 2019 12:16
Fizz Buzz Test

Fizz Buzz Test

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

Answer & Refinement process

Don't look until you want to see how I thought through it:

Final Shortest Answer

@beneggett
beneggett / .powenv
Last active February 17, 2017 22:55
.powenv
# detect `$rvm_path`
if [ -z "${rvm_path:-}" ] && [ -x "${HOME:-}/.rvm/bin/rvm" ]
then rvm_path="${HOME:-}/.rvm"
fi
if [ -z "${rvm_path:-}" ] && [ -x "/usr/local/rvm/bin/rvm" ]
then rvm_path="/usr/local/rvm"
fi
# load environment of current project ruby
if