Skip to content

Instantly share code, notes, and snippets.

View Incanus3's full-sized avatar

Jakub Kaláb Incanus3

  • Universita Palackého v Olomouci
View GitHub Profile
require 'time'
require 'ruby2d'
DEFAULT_FONT = 'DejaVuSansMono.ttf'
DEFAULT_FONT_SIZE = 12
DEFAULT_FONT_COLOR = 'green'
def get_info_text(tick)
#!/bin/bash
dir="$(dirname "$0")"
bold="$(tput bold)"
normal="$(tput sgr0)"
function get_token {
(exec http --ignore-stdin --timeout 180 post $1/auth/get_token username=$2 password=$3 | jq -r .token)
}
@Incanus3
Incanus3 / continuation.rb
Last active October 14, 2019 19:42
scatch implementation of continuable error handling
module Dry
module Effects
CONTINUE_HANDLER_REGISTRY = {}
module Handler
def self.Continue(context_name)
Module.new do
define_method("with_#{context_name}") do |handlers_hash, &block|
::Dry::Effects::CONTINUE_HANDLER_REGISTRY[context_name] = handlers_hash
@Incanus3
Incanus3 / dry-types-default+constructor.rb
Last active February 17, 2017 19:37
dry-types inconsistent behavior with default & constructor
require "bundler/inline"
gemfile(true) do
source "https://rubygems.org"
gem 'dry-types', github: "dry-rb/dry-types", branch: 'master'
gem 'dry-struct', github: "dry-rb/dry-struct", branch: 'master'
gem 'rspec'
gem 'timecop'
end
@Incanus3
Incanus3 / block-scheduler.rb
Created January 23, 2015 04:21
schedule blocks to run in single thread
require 'thread'
# input_queue = Queue.new
# computer = Thread.new do
# loop do
# x, y, block, output_queue = input_queue.pop
# puts "computing #{x} + #{y}"
# sleep 1
# puts "calling block"
@Incanus3
Incanus3 / tracing.rb
Last active August 29, 2015 14:03
tracing method calls
level = 0
call_trace = TracePoint.new(:call) do |event|
indent = ' ' * level
Rails.logger.info("#{indent}#{level} : #{event.event} " +
"#{event.defined_class}\##{event.method_id} " +
"@ #{event.path}:#{event.lineno}")
level += 1
end
@Incanus3
Incanus3 / rails-so-trace.log
Created July 9, 2014 20:19
rails stack overflow trace
Started GET "/canteens/20/edit" for 127.0.0.1 at 2014-07-09 21:23:24 +0200
Processing by CanteensController#edit as HTML
Parameters: {"id"=>"20"}
User Load (0.8ms) SELECT "users".* FROM "users" WHERE "users"."id" = 18 ORDER BY "users"."id" ASC LIMIT 1
finding canteen
0: call ActiveSupport::Dependencies::ModuleConstMissing#const_missing
/home/jakub/.rvm/gems/ruby-2.1.2@objednavky/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:178
1: call Module#anonymous?
/home/jakub/.rvm/gems/ruby-2.1.2@objednavky/gems/activesupport-4.1.4/lib/active_support/core_ext/module/anonymous.rb:16
1: return Module#anonymous?
@Incanus3
Incanus3 / test.rb
Created June 23, 2014 12:38
ActiveRecord::AttributeMethods#column_for_attribute doesn't work with alias_attribute and behaves strangely with nonexistent attribute
unless File.exist?('Gemfile')
File.write('Gemfile', <<-GEMFILE)
source 'https://rubygems.org'
gem 'rails', github: 'rails/rails'
gem 'arel', github: 'rails/arel'
gem 'sqlite3'
GEMFILE
system 'bundle'
end
@Incanus3
Incanus3 / activerecord_4.0.4_issue
Last active August 29, 2015 13:57
activerecord 4.0.4 when and find_by ignores custom foreign_key when searching for association = nil
#!/usr/bin/env ruby
unless File.exist?('Gemfile')
File.write('Gemfile', <<-GEMFILE)
source 'https://rubygems.org'
# gem 'rails', github: 'rails/rails'
gem 'rails'
gem 'sqlite3'
GEMFILE
@Incanus3
Incanus3 / bundle
Last active December 26, 2015 07:39
undefined method `interface' for PryByebug::Processor
Gems included by the bundle:
* actionmailer (4.0.0)
* actionpack (4.0.0)
* activemodel (4.0.0)
* activerecord (4.0.0)
* activerecord-deprecated_finders (1.0.3)
* activesupport (4.0.0)
* addressable (2.3.5)
* annotate (2.5.0)
* arel (4.0.1)