Skip to content

Instantly share code, notes, and snippets.

@AlexVPopov
AlexVPopov / clojure.spec cheat sheet.md
Last active February 21, 2020 07:08
A cheat sheet for clojure.spec

clojure.spec cheat sheet

Specs

Require

(ns my.ns
  (:require [clojure.spec.alpha :as s]))

Keybase proof

I hereby claim:

  • I am alexvpopov on github.
  • I am derpov (https://keybase.io/derpov) on keybase.
  • I have a public key ASCANeJV2M9hCMm5heFiuNcMzx9XDJGwsH2yuH710eN-qwo

To claim this, I am signing this object:

@AlexVPopov
AlexVPopov / spec_errors.sh
Created December 21, 2017 15:31
spec_errors
Failures:
1) Ruby2D::Image#contains? returns true if point is inside image
Failure/Error: ext_init(@path)
NoMethodError:
undefined method `ext_init' for #<Ruby2D::Image:0x007fbbaaa08c60>
# ./lib/ruby2d/image.rb:27:in `initialize'
# ./test/image_spec.rb:13:in `new'
# ./test/image_spec.rb:13:in `block (3 levels) in <top (required)>'
RSpec.describe Person do
let(:person) { described_class.new('Fixed', 'Name', education_level, educator) }
describe '#educate' do
let(:education_level) { 2 }
let(:educator) { instance_double('PersonEducator') }
let(:updated_education_level) { education_level + 1 }
subject { person.education_level }
def read_price(selector)
elmenent = $driver.find_element(id: selector)
rescue Selenium::WebDriver::Error::NoSuchElementError
"Euer Return-wert"
else
return elmenent.attribute("value").to_s if elmenent == "NUM_HR_VSU"
elmenent.text().gsub(' €', '').gsub(',', '.')
end
# User.joins(accounts: :broker_server)
SELECT "users".*
FROM "users"
INNER JOIN "broker_accounts"
ON "broker_accounts"."user_id" = "users"."id"
AND "broker_accounts"."state" IN ('new', 'active', 'inactive', 'disabled', 'out-of-money')
INNER JOIN "broker_servers"
ON "broker_servers"."id" = "broker_accounts"."broker_server_id"
WHERE "users"."active" = 't'
__foo__ = "This foo sentence contains many foo instances, for example: foo, foo, foo."
* Match a single symbol: `foo.match /./ # => #<MatchData "T">`
* Match the first-found word character symbol: `foo.match /\w/ => #<MatchData "T">`
* Extract all symbols of a string: `foo.scan /./ # => ["T",
"h",
"i",
"s",
" ",
"f",
@AlexVPopov
AlexVPopov / to_proc_spec.rb
Created December 5, 2013 15:31
Tests for challenge 11 of the FMI ruby course
require 'spec_helper'
ivan = Student.new 'Иван', 10, :second
mariya = Student.new 'Мария', 12, :first
neycho = Student.new 'Нейчо', 9, :third
students = [ivan, mariya, neycho]
describe "Array#to_proc" do
it "works for a single element" do
@AlexVPopov
AlexVPopov / Project Euler 7
Created September 24, 2013 13:43
Project Euler 7
require 'prime'
primes = Prime.first 10001
p primes.last
@AlexVPopov
AlexVPopov / Project Euler 6b
Created September 24, 2013 12:34
Project Euler 6b
# Sum of first n numbers is n(n+1)/2
# Sum of squares of first n numbers is n(n+1)(2n + 1)/6
# Expanded form for sum ^ 2 - sum of squares = n^4/4+n^3/6-n^2/4-n/6
def formula(n)
(n ** 4) / 4 + (n ** 3) / 6 - (n ** 2) / 4 - n / 6
end
p formula(100)