Skip to content

Instantly share code, notes, and snippets.

#!/bin/bash
#Sample rake task
#site = com,dk,de,fr etc...
#spec = spec/sites/, spec/default etc...
#browser = chorme, firefox etc...
#remote = false,true
#version = browser's version, especially for ie
#os = Os' name
#rake test_maniac:run[site,spec,browser,remote,version,os]
@zeitnot
zeitnot / flatten.rb
Last active September 28, 2018 17:55
Ruby flatten array
module FlattenArray
def self.flatten(ar, flatten_array = [])
ar.each do |el|
next unless el
if el.kind_of?(Array)
flatten(el,flatten_array)
else
flatten_array << el
end
end
@zeitnot
zeitnot / partition.rb
Created September 28, 2018 19:02
Ruby array partition
def partition(arr, int)
list = [[],[]]
return list if arr.empty?
if int == 0
list[1] = arr
return list
end
if int.negative?
@zeitnot
zeitnot / roman.rb
Last active November 19, 2019 08:45
Ruby Roman numeral converter.
require "test/unit"
InvalidRomanChars = Class.new(StandardError)
OutOfRange = Class.new(StandardError)
InvalidInteger = Class.new(StandardError)
class Roman
I,IV,V,IX,X,XL,L,XC,C,CD,D,CM,M = 1,4,5,9,10,40,50,90,100,400,500,900,1000
LETTERS = %w(IV V IX I XL L XC X CD D CM C M)
@zeitnot
zeitnot / syntax_checker.rb
Last active December 27, 2018 07:58
Ruby syntax checker
require "test/unit"
def syntax_checker(str)
opening_tags = ['[', '(', '<', '{']
closing_tags = [']', ')', '>', '}']
set = []
str.chars.each do |char|
if opening_tags.include?(char)
set << char
@zeitnot
zeitnot / html_build.rb
Created February 24, 2019 16:13
Ruby html builder with DSL
require 'test/unit'
class HtmlBuilder < BasicObject
attr_accessor :html_data
SELF_CLOSING_TAGS = %i(area base br col embed iframe hr img input link meta param source track wbr command keygen menuitem)
class << self
attr_accessor :output
def build(&block)