Skip to content

Instantly share code, notes, and snippets.

View krisleech's full-sized avatar

Kris Leech krisleech

View GitHub Profile
@krisleech
krisleech / activejob.rb
Created October 7, 2014 14:00
activejob outside of Rails
require 'sidekiq'
require 'active_job'
ActiveJob::Base.queue_adapter = :sidekiq
class Foo < ActiveJob::Base
queue_as :default
def perform
sleep 10
@krisleech
krisleech / RES-async-sketches.md
Last active April 20, 2021 12:05
Rails Event Store same event handler async and sync
class MyEventHandler
  include BackgroundEventHandler
  
  def call(event)  
  end
end

class MyOtherEventHandler
  include ForegroundEventHandler
@krisleech
krisleech / HOWTO.md
Last active February 10, 2021 08:13
ActiveModel comforming Form object based on dry-type / dry-validation
require 'dry-validation'
require 'dry-struct'
require 'active_model/errors'

require_relative '../create_study'

module MyApp
  module Types
    include Dry::Types.module
class NullObject < BasicObject
def initialize(represents = nil)
@represents = represents || 'NullObject'
end
def nil?; true; end
def present?; false; end
def blank?; true; end
def empty?; true; end
def !; true; end
Add = ->(add, n) { n + add }
Times = ->(times, n) { n * times }
AddOne = Add.curry.call(1)
TimesFour = Times.curry.call(4)
AddOneTimesFour = AddOne >> TimesFour
AddOneTimesFour.(2) # => 12
@krisleech
krisleech / rspec.rb
Last active July 6, 2020 08:51
RSpec gotcha
require "bundler/inline"
gemfile(false) do
source "https://rubygems.org"
gem "rspec"
gem "pry-byebug"
end
require 'rspec/autorun'
@krisleech
krisleech / spec.rb
Last active June 23, 2020 09:01
dry-Struct
require "bundler/inline"
gemfile(false) do
source "https://rubygems.org"
gem "dry-struct", '0.5'
gem "dry-types", '0.14'
gem 'rails_event_store-rspec', '1.0.0'
gem "pry-byebug"
gem 'activesupport'
end
@krisleech
krisleech / MODULE_BUILDER.md
Last active June 3, 2020 18:58
Module builder in Ruby

plain #new method

module Foo  
  class Bar < Module
    def initialize(options = {})
      super()
      puts options
    end
  end
@krisleech
krisleech / stats.md
Last active April 20, 2020 08:23
Run + Blood Glucose
  • 10:30 BG 4.5 mmol/litre
  • Run:
    • 6k
    • 5:11 mins/km pace
    • Elevation gain: 76m
    • Max elevation: 107m
  • 11:10 BG 6.2 mmol.litre
  • Food (carbs)
  • 11:50 BG 5.5 mmol/litre
  • 12:30 BG 6.3 mmol/litre
@krisleech
krisleech / 00_README.md
Created February 18, 2020 16:21
Playing with Rails Event Store
ruby basic.rb

ruby aggregate_root.rb