Skip to content

Instantly share code, notes, and snippets.

View Canx's full-sized avatar

Ruben Cancho Canx

View GitHub Profile
#language: es
Característica: administrador introduce moción
Como administrador de circunscripción
Quiero introducir mociones
Para que los ciudadanos puedan votarlas
Antecedentes: usuario logeado quiere introducir moción
Dado que el usuario logeado es "pepito"
Y quiere introducir una moción con título "Aprobar presupuesto para farolas"
Y con contenido "Se compraran 100 farolas a 50€ cada una a la empresa Farolillos S.A."
@Canx
Canx / voto_directo.feature
Created March 7, 2011 12:11
ciudadano realiza votación directa
#language: es
Característica: ciudadano realiza votación directa
Como ciudadano
Quiero votar mociones directamente
Para influir en las decisiones que me interesan
Antecedentes: administrador ha introducido la moción
<pendiente>
Escenario:
class Scrapper
# Dada la busqueda configurada
# Para cada página
# Para cada enlace de propuesta
# explora enlaces de propuestas
# actualiza propuestas en base de datos
def initialize()
@agent = Mechanize.new
@agent.history_max = 10
class Distancia {
Integer valor
String unidad
boolean equals(Object otro) {
return true
}
Integer plus(Object otro) {
return 10
class DistanciaTest extends GroovyTestCase {
def d1, d2
void setUp() {
d1 = new Distancia(valor:5, unidad:"m")
d2 = new Distancia(valor:5, unidad:"m")
}
void testSumaOk() {
assertEquals("Deben sumarse correctamente", d1+d2, 10)
@Canx
Canx / gist:1058454
Created July 1, 2011 12:36
modelos_1
class CreateGrupos < ActiveRecord::Migration
def change
create_table :grupos do |t|
t.string :nombre
t.timestamps
end
end
end
@Canx
Canx / add.rb
Created July 1, 2011 12:38
modelos_1
lennon = Persona.find_by_nombre("John Lennon")
lennon.grupo = Grupo.find_by_nombre("Ramones")
lennon.save
@Canx
Canx / chop.rb
Created February 12, 2012 16:48
Karate Chop
def chop(valor, lista)
case(lista.size)
when 0 then return -1
when 1 then return (lista[0] != valor)? -1: 0
else
mitad = lista.size/2
if lista[mitad] > valor
return chop(valor, lista[0..mitad - 1])
else
posicion = chop(valor, lista[mitad..lista.size])
@Canx
Canx / kata4_1.rb
Created February 26, 2012 18:41
kata 4: data munging (part 1)
data = Array.new
File.foreach("weather.dat") { |line|
if line =~ /^\s+([0-9]+)\s+([0-9]+)[*]?\s+([0-9]+)[*]?/ then
data << {:day => Integer($1), :spread => Integer($2) - Integer($3)}
end
}
puts data.min { |a,b| a[:spread] <=> b[:spread] }
@Canx
Canx / kata4_2.rb
Created February 27, 2012 20:15
kata 4: data munging (part 2)
data = Array.new
File.foreach("football.dat") { |line|
if line =~ /^\s+[0-9]+[.]\s([a-zA-Z_]+)\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+([0-9]+)\s+-\s+([0-9]+)/ then
data << { :team => $1, :goal_diff => (Integer($2) - Integer($3)).abs }
end
}
puts data.min { |a,b| a[:goal_diff] <=> b[:goal_diff] }