Skip to content

Instantly share code, notes, and snippets.

View wteuber's full-sized avatar

Wolfgang Teuber wteuber

View GitHub Profile
foo = Namespace::To::Module.instance_method(:foo)
obj.class.send(:define_method, :foo, foo)
#!/usr/bin/env ruby
require 'yaml'
class Hash
def deep_reject(&blk)
self.dup.deep_reject!(&blk)
end
def deep_reject!(&blk)
self.each do |k, v|
for f in `git ls-files "*.rb"`; do ruby -c $f | grep -v "Syntax OK" ; done
#!/usr/bin/env ruby
require 'yaml'
require 'active_support/all'
class Hash
def to_hash_recursive
result = self.to_hash
result.each do |key, value|
#!/usr/bin/env ruby
require 'yaml'
require 'active_support/all'
puts ARGV.map{|file| YAML.load_file(file)}.inject(&:deep_merge).to_yaml
@wteuber
wteuber / solidatité.js
Created November 16, 2015 10:16
solidatité
document.body.setAttribute('style', 'margin:0;padding:0;'); document.body.innerHTML = '<body style="margin:0;padding:0;"><div style="width: 100vw;height: 100vh;display: table;"><div style="background: #00f;width: 33%;display: table-cell;"></div><div style="background: #fff;width: 33%;display: table-cell; color: #CCC;text-align:center;vertical-align:middle;font-size: 12vh;">Solidarité</div><div style="background: #f00;width: 33%;display: table-cell;"></div></div></body>';
@wteuber
wteuber / ctrl_enter.js
Created November 16, 2015 14:09
ctrl_enter.js - send forms when pressing crtl+enter instead of only pressing enter
$(document).ready(function() {
$(window).keydown(function(event){
if((event.keyCode == 13 || event.keyCode == 10) && !event.ctrlKey) {
event.preventDefault();
return false;
}
});
});
#http://tools.ietf.org/html/rfc2397
img_path = '...pictures/img.jpg'
img = File.open(img_path, 'rb').read
img_type = case img[0..10]
when /^GIF8/
'gif'
when Regexp.new('^\x89PNG', nil, 'n')
'png'
when Regexp.new('^\xff\xd8\xff\xe0\x00\x10JFIF', nil, 'n'), Regexp.new('^\xff\xd8\xff\xe1(.*){2}Exif', nil, 'n')
'jpeg'
@wteuber
wteuber / intl_time.rb
Created February 1, 2013 10:31
Converts a german date string to a Time object The format of the german date is '%A, %d. %B %Y, %H:%M Uhr' e.g.: 'Dienstag, 29. Januar 2013, 19:27 Uhr'
require 'date'
# Converts a german date string to a Time object
# The format of the german date is '%A, %d. %B %Y, %H:%M Uhr'
# e.g.: 'Dienstag, 29. Januar 2013, 19:27 Uhr'
#
# @params [String] german date
# @return [Time]
def intl_time(de_date)
en_days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
@wteuber
wteuber / digit_sum.rb
Created February 5, 2013 09:44
Calculates the digit sum of an integer number
class Integer
def digit_sum(base = 10)
result = 0
number = self
while(number > 0) do
result += number % base
number /= base
end
result
end