Skip to content

Instantly share code, notes, and snippets.

View trekdemo's full-sized avatar

Gergő Sulymosi trekdemo

View GitHub Profile
@trekdemo
trekdemo / event_sourcing_with_cte.rb
Created March 29, 2025 16:51
A small ActiveRecord example implementing event sourcing using CTE
# frozen_string_literal: true
require 'bundler/inline'
gemfile(true) do
source 'https://rubygems.org'
gem 'rails', '~> 7.1.0'
gem 'sqlite3'
end

This is the summary of the class diagram relation types from the book: Creating Software with Modern Diagramming Techniques by Ashley Peacock.

Class diagrams

Type Description
--> Association
o-- Aggregation
*-- Composition
@trekdemo
trekdemo / create_post.rb
Created March 21, 2020 11:18 — forked from CrowdHailer/create_post.rb
Enforcing an interface in Ruby
class CreatePost
# An interactor to create a post.
# Initialize with a request object that implements the request interface for this interactor.
def initialize(request)
RequestInterface.required_on! request
@user = {:title => request.title}
end
def result
@trekdemo
trekdemo / windfinder.1h.rb
Created September 14, 2018 22:36
Show the 3 day forecast from Windfinder
#!/usr/bin/env ruby
# <bitbar.title>Windfinder </bitbar.title>
# <bitbar.version>v1.0</bitbar.version>
# <bitbar.author>Gergő Sulymosi</bitbar.author>
# <bitbar.author.github>trekdemo</bitbar.author.github>
# <bitbar.desc>Show the 3 day forecast from Windfinder</bitbar.desc>
# <bitbar.image></bitbar.image>
# <bitbar.dependencies>ruby</bitbar.dependencies>
# <bitbar.abouturl></bitbar.abouturl>
#!/bin/sh
# Put this file into your .git/hooks directory and make it
# executable.
#
# A hook script to verify what is about to be committed.
# Called by "git commit" with no arguments. The hook exits
# with non-zero status if the Rubocop check fails.
# Redirect output to stderr.
exec 1>&2
@trekdemo
trekdemo / README.md
Created September 22, 2016 07:30
Setup ctags with git

Create a folder to store git hook templates

# ~/.gitconfig

[init]
  templatedir = ~/.git_templates

The following files are in ~/.git_templates/hooks/

require 'base64'
require 'uri'
require 'faraday'
module FaradayMiddleware
class BasicAuthOverwrite < Faraday::Middleware
KEY = "Authorization".freeze
def call(env)
rewrite_request(env)
function cronitor {
if [ $# -ne 2 ]; then return; fi
if [ -z "$1" ]; then return; fi
if [ -z "$2" ]; then return; fi
echo "Sending signal to - https://cronitor.link/${2}/${1}"
curl "https://cronitor.link/${2}/${1}" -m 10
}
# Usage
@trekdemo
trekdemo / clojure-dojo.md
Last active November 29, 2015 13:19 — forked from skuro/clojure-dojo.md
Crime at Piccadilly Circus

Results of the Clojure Dojo

This gist is just a placeholder for your solution of the Clojure Dojo from the Amsterdam Clojurians meetup.

To share your solution:

  • fork this gist
  • add the files containing your code to the forked gist

Thanks!

#!/usr/bin/env ruby
# This script creates LaunchBar snippets for kaomojis
#
# About kaomojis: http://www.gomotes.com/text-emoticons/
# About LaunchBar snippets: https://blog.obdev.at/introducing-launchbar-snippets/
#
# Run without `git checkout`
#
# ruby -e "$(curl -fsSL <RAW URL OF THIS GIST>)"
#