Disección de una aplicación Rails

(Sigue siendo) La plataforma de desarrollo web de los samurais

Esteban Manchado Velázquez <zoso@grupocpd.com>

Grupo CPD

La aplicación

Primera fase

¿No dije «jugar»?
(era para ver si estaban atentos)

Primera fase

Segunda fase

Segunda fase (chuleta)

function update_stars(num)
{
  for (var i = 0; i < 10; ++i) {
    var star = $("star"+(i+1));
    if (i < num) {
      if (! star.visible()) {
        Effect.Appear(star);
      }
    } else {
      if (star.visible()) {
        Effect.Fade(star);
      }
    }
  }
}

Tercera fase

Tercera fase (chuleta)



def prefs_hash
  user_prefs.inject({}) {|h,up| h.merge({up.name =>
                                           up.value})}
end

UserPref.find_or_create_by_user_id_and_name(id, k)

Cuarta fase

Cuarta fase (chuleta)

class Notifier < ActionMailer::Base
  def new_patch(patch)
    from       NOTIFIER_FROM
    recipients lista_usuarios
    subject    "New patch from #{patch.author.login}"

    body       :patch => patch
  end
end

Enemigo final

Enemigo final

Chuleta final

|assertTextPresent|login|
[...]
|waitForPageToLoad|30000|
[...]
|assertNotVisible|new_app_name|
[...]
|select|new_item_program_id|label=regexp:^Exp. reg.$|
[...]
|select|new_item_program_id|index=0|

¿Preguntas?