Skip to content

Instantly share code, notes, and snippets.

View ClayShentrup's full-sized avatar
🏗️
🗳️🌱🌷🌐🏗️🏓☢️

Clay Shentrup ClayShentrup

🏗️
🗳️🌱🌷🌐🏗️🏓☢️
View GitHub Profile
import { mintNft } from "../lib/mint-nft"
import {ethers, waffle} from "hardhat";
import { Contract } from "@ethersproject/contracts"
describe("MyNFT", function () {
let signerAddress: string;
const tokenURI = "http://example.com";
let env: NodeJS.ProcessEnv;
let deployedContract: Contract;
@ClayShentrup
ClayShentrup / testing_helpers.rb
Created January 22, 2021 19:41
Some fake db testing techniques I've used a bunch
# frozen_string_literal: true
RSpec.shared_context('customer_records') do
let!(:customer_record_model) do
stub_const('CustomerRecord', Class.new(AbstractCustomerRecord))
.tap { |model| model.establish_connection(test_db) }
end
let!(:customer_record_factory) do
FactoryBot::Factory.new(:customer_record)
end
@ClayShentrup
ClayShentrup / days.rb
Last active January 31, 2020 22:17
Calculate number of days at least one employee is working
# frozen_string_literal: true
class DaysBinarySearchTree
attr_reader(:sum)
def initialize
@sum = 0
end
def size
@root.sum

Keybase proof

I hereby claim:

  • I am clayshentrup on github.
  • I am clayshentrup (https://keybase.io/clayshentrup) on keybase.
  • I have a public key ASDQMBm3QhQ8qacuRk6T0E-1Fe-zjr9QhB6oHIM8emj6PQo

To claim this, I am signing this object:

apiVersion: apps/v1
kind: Deployment
metadata:
name: adama
spec:
selector:
matchLabels:
app: adama
replicas: 1
template:
@ClayShentrup
ClayShentrup / one.rb
Last active September 2, 2018 05:59
Three ways to do STI factories
# assets.rb
FactoryBot.define do
factory(:asset) do
# definition
end
end
# audio_assets.rb
FactoryBot.define do
factory(:audio_asset, parent: :asset, class: AudioAsset) do
before(:each) do
ENV['SITE_DOMAIN'] = 'periscopedata.com'
end
after(:each) do
ENV.delete('SITE_DOMAIN')
ActionMailer::Base.deliveries.clear
end
def send_queued_mail_and_expect_subject_to_be(expected_subject)
@ClayShentrup
ClayShentrup / alias_matchers.md
Created December 12, 2017 20:14 — forked from JunichiIto/alias_matchers.md
List of alias matchers in RSpec 3

This list is based on aliases_spec.rb.

You can see also Module: RSpec::Matchers API.

matcher aliased to description
a_truthy_value be_truthy a truthy value
a_falsey_value be_falsey a falsey value
be_falsy be_falsey be falsy
a_falsy_value be_falsey a falsy value
# frozen_string_literal: true
require('method_object')
# Handles the measurement year window, including scopes to allow querying of QDM
# models within specified date ranges relative to the measurement year.
MeasurementYear = Struct.new(:program) do
def initialize(program:)
super(program)
end
shock_cost_class_map = {
front: FrontShockCost,
lefty: LeftyShockCost,
rear: RearSHockCost,
}
shock_cost_class = shock_cost_class_map.fetch(type, ShockCost)
shock_cost_class.new.compute