29 dic 2011

Idea para una gema. db2fixture

La cuestión es bastante simple, uno quiere hacer un fixture rápido de una cuestión que le parece interesante, como ser un registro que le causó problemas o errores en algún momento. Entonces querés hacer un test sobre el tema para asegurarte que ese problema no vuelve a ocurrir.

Como hago el fixture sin escribir, abro la consola, busco el registro y hago:

r.to_fixture "registro_problemático" # => se crearán 7 fixtures... ¿seguro?(y/n)
; yes # => OK

y como funciona?

usa muchas cosas de este plugin que hace algo parecido.
Y a eso le agrega una búsqueda de relaciones (basada en r.class.reflections) que carga también todos los registros relacionados con el primero recursivamente.

Luego, solo queda escribir el test. :) (y la gema :( )

12 sept 2011

Jugando con Token Input

Me puse a intentar usar token-input.js desde rails 3.1 y me encontré con que no fue tan dificil.

Un poco de codigo para recordarme:

El Input de formtastic:

    <%= form.input :compradores_tokens, :label => "Compradores:",
                   :input_html => {
                     "data-pre" => @contrato.compradores.to_json, :only => [:id, :name] } %>


El coffescript para cargarlo:

//= require jquery.tokeninput

$ ->
  $('#contrato_compradores_tokens').
    tokenInput '/personas/people.json',
    # NOTE: esto esta hardcodeado porque no se puede tener acceso a los helpers (helper.personas.new_people_path(:as => :json))
      queryParam: 'search[name_like]'
      crossDomain: false
      prePopulate: $('#contrato_compradores_tokens').data('pre')
      searchingText: 'Buscando...'
      hintText: 'Ingrese el nombre del comprador'
      noResultsText: "Esta persona no está registrada"


El codigo para los estilos

*= require token-input


En el modelo:

  attr_reader :compradores_tokens

  def compradores_tokens=(ids)
    self.comprador_ids = ids.split(",")
  end


Y ahí debería estar andando... :)

8 sept 2011

puppet en debian

Bueno, cree una pequeña maquina virtual Debian y le instale puppet, no diré que fue una cosa facil, pero los comandos son:

aptitude install puppetmaster puppet

nano /etc/defaults/puppet
     (enabled = true)

nano /etc/hosts
     (agregar puppet como alias a localhost)

nano /etc/puppet/manifests/site.pp
    ( y poner los manifiestos )

Las actualizaciones se hacen cuando tienen ganas pero el sistema anda y podría instalar paquetes y cosas así...

El sistema se simplifica mucho si el server ya existe y si hay un servidor DNS propio y uno agrega un alias para el puppetmaster (puppet). Pero eso no suele pasar en ámbitos chiquitos :(

exit

6 sept 2011

Desktop entry personalizado

Bueno, querés poner un programa en el escritorio... bueno, en linux eso se consigue haciendo un archivo ".desktop". después de leer un rato la referencia sale que tenés que escribir algo así: (todo CaseSensitive)

[Desktop Entry]
Name=programa
Exec=comando
Terminal=false
Type=Application
Icon=programa

Si además estás en ubuntu con unity vas a querer opciones adicionales:

X-Ayatana-Desktop-Shortcuts=X-Query;
   
[X-Query Shortcut Group]
Name=Query
Exec=otro comando
TargetEnvironment=Unity

 
Y además el ícono si no está en /usr/share/pixmaps (en ese caso ponés el nombre y fue) lo tenés que poner en:

/usr/local/share/pixmaps/programa.png


Y ahí tenés la historia completa.

13 abr 2011

Inconstancia (Linux apesta)

Mi inconstancia es casi preocupante, este blog estuvo parado demasiado tiempo, a pesar de que mis experiencias con GNU/linux no cesaron.
Pero algo me obligó a volver, encontré un video, de un linuxero que comenta, algo muy relacionado a lo que vengo desarrollando...

Linux Sucks

Una conferencia de un hombre que explica algunos problemas de este odioso sistema operativo.

16 feb 2011

Fedora

Ahora me instale fedora, anda un poco más rápido que mint-debian.

Muchas cosas pasaron desde entonces, pero bueno, eso será otra historia.