Skip to content

Instantly share code, notes, and snippets.

Avatar

Attila Domokos adomokos

View GitHub Profile
@adomokos
adomokos / keyword_like_function_test.clj
Created Jan 6, 2014
An example to create keyword-like arguments for a Clojure function
View keyword_like_function_test.clj
(ns keyword-like-function-test
(:require [clojure.test :refer :all]))
(defn find-values
[& {:keys [p1 p2] :or {p1 [0 0] p2 [1 1]}}]
[p1 p2])
(deftest keyword-arguments-test
(testing "when both of the arguments were passed"
(is (= [4 15] (first (find-values :p1 [4 15] :p2 [3 21]))))
View fizzbuzz.clj
(ns fizzbuzz.core
(:gen-class))
(defn- format-output [output current]
(cond
(= 0 (mod current 15)) (str output "FizzBuzz\n")
(= 0 (mod current 3)) (str output "Fizz\n")
(= 0 (mod current 5)) (str output "Buzz\n")
:else (str output current "\n")))
View vim_katas_02.md

The Yank Register

  1. Start at the first character of the first line collection = getCollection(); process(somethingInTheWay, target);
  2. Yank the word "collection" with - yiw
  3. Move to the beginning of the word "somethingInTheWay" with - jww
  4. Delete the word "somethingInTheWay" with - diw
  5. Paste from the Yank Register with - "0P
  6. Look at the Yank Register with - :reg "0
View vim_katas_01.md

Selection

  1. type in the word: "errors for job profile"
  2. move to the first 'p'
  3. select the entire content within the quotes: vi"
  4. select just from the cursor to the quotes: vt"
  5. delete just from the cursor location to the quote: dt"
  6. delete everything within the quotes: di"

Creating, using marks

  1. open a file with a few hundred lines of code
@adomokos
adomokos / loads_position_types.rb
Created Feb 21, 2013
DRY-ing up service logic with mixins. Since these services are very similar in behavior I used a "template" method that uses only one dynamic data: the entity type they are fetching.
View loads_position_types.rb
module Services
class LoadsPositionTypes
extend ::Services::LookupDataFetchable
def self.entity_class
PositionType
end
end
end
@adomokos
adomokos / bubble_sort.rb
Created Jan 24, 2013
Bubble Sorting in Ruby
View bubble_sort.rb
module Enumerable
def bubble_sortit
reached_end = true
(1..self.length-1).each do |e|
if self[e] < self[e-1]
self[e-1], self[e] = self[e], self[e-1]
reached_end = false
end
end
@adomokos
adomokos / something_steps.rb
Created May 25, 2012
Would this make you angry?
View something_steps.rb
When /^I am on the Billing\/Shipping address page$/ do
# setting the order_id to 1 in the session
class Spree::BaseController < ApplicationController
prepend_before_filter :stub_order_id_in_session
def stub_order_id_in_session
session[:order_id] = 1
end
end
@adomokos
adomokos / vehicle_or_car.html
Created Apr 12, 2012
Follow up comment on my blog post "Refactoring Workflows to Chain of Actions"
View vehicle_or_car.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--
Created using /
Source can be edited via /anakul/8/edit
-->
<head>
@adomokos
adomokos / mocha_sample_project_install.sh
Created Jan 22, 2012
Set up sample project with mocha
View mocha_sample_project_install.sh
#!/bin/bash
function create_dir {
if [ ! -d $1 ];
then
mkdir $1
fi
}
echo "create the src directory..."
@adomokos
adomokos / no_actions_goes_to_the_park_spec.coffee
Created Jan 21, 2012
Blog Post - Refactoring Workflows to Chain of Actions
View no_actions_goes_to_the_park_spec.coffee
should = require 'should'
House = {
leave: (dude) ->
'leaves the house'
closeTheDoor: (dude) ->
'closes the door'
}
Car = {
jumpIn: (dude) ->
You can’t perform that action at this time.