Skip to content

Instantly share code, notes, and snippets.

# /app/components/link_as_button.rb
class LinkAsButton
attr_reader :href
attr_reader :disabled
def initialize(
href:,
disabled: false,
&blk,
)
@judofyr
judofyr / example.txt
Created December 14, 2018 07:31
Tests and code in same file
minitest-same-file $ ruby fib.rb
minitest-same-file $ ruby -rminitest/autorun fib.rb
Run options: --seed 15401
# Running:
.
Finished in 0.000960s, 1041.6668 runs/s, 1041.6668 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
@judofyr
judofyr / minify_html.rb
Created September 12, 2018 13:28
Example of using Nokogiri to minify HTML
require 'nokogiri'
def minify_html(html)
doc = Nokogiri::HTML.parse(html)
doc.xpath('//comment()').each { |comment| comment.remove }
doc.to_html(save_with: Nokogiri::XML::Node::SaveOptions::AS_HTML)
end
html_code = '<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Bla bla bla</title></head><body><p>Abc <!--stuff to remove--></p></body></html>'
puts minify_html(html_code)
require_relative 'parser'
class Arithmetic
include ParserCombinators
def root
expression
end
def expression
require_relative 'import'
B = import "b"
p defined?(::User)
user = B.new_user
p user
@judofyr
judofyr / json.cc
Created July 3, 2016 18:13
Example of reflection in C++
#define REFLECT(x) template<class R> void reflect(R& r) { r x; }
#include <string>
struct Person {
std::string name;
int age;
REFLECT(
("name", name)
@judofyr
judofyr / bf.rs
Last active December 8, 2023 11:12
Brainfuck macro in Rust
#![recursion_limit="100"]
use std::io;
use std::io::{Write, Read};
use std::num::Wrapping;
struct Tape<'a> {
stdin: &'a mut Read,
stdout: &'a mut Write,
data: Vec<Wrapping<u8>>,
set -e
DIR="docs"
BRANCH="gh-pages"
# Stage all files in the directory
find "$DIR" -type f | xargs git update-index --add
# Write the sub-tree
TREE=$(git write-tree --prefix="$DIR")
type Foo = distinct int
template `&`(a: Foo, b: Foo): expr =
debugEcho "anding"
const x = a
Foo(int(a) + int(b))
echo int(Foo(1) & Foo(2) & Foo(3) & Foo(4) & Foo(5))
@judofyr
judofyr / a.md
Created April 22, 2014 11:47
Patch for Ruby 2.1.1
ruby-install -p https://gist.githubusercontent.com/judofyr/11175629/raw/2f22144e3ca261e9e989fcb9a205b473c208007f/patch.diff ruby 2.1.1