Category Archives: Scripts

Datamapper + Sinatra :: 101

¿Qué hay que hacer?
Cada X días, tengo que entregar un reporte con los tickets de redmine de un projecto asociados a un sprint específicando número, asunto y horas invertidas. Al final del mes son varios proyectos y varios sprints. Una tarde entera haciendo consultas y organizando todo en lindos pdfs.

¿Cómo lo vamos a hacer?
Aprovechando la pereza y que en #dev-co (irc.freenode.net) lo único que hay es rubyceros, pues hagamos aprendamos algo en ruby. Sinatra + Datamapper para comenzar.

3 días después

  • Hasta ahora (hasta ahora son 50 líneas de código y na’ más) se siente mejor escribir ruby.
  • Las consultas con datamapper son muy sencillas, aunque la documentación no es mucha.
  • Hay mucho de donde escoger para plantillas y ORM.
  • Datamapper tiene Lazy Loading (o sea que no hace los queries si uno no usa la variable). Lovelly.
  • El problema que tenía de versiones de ruby (en Debian) se solucionó instalando rbenv.
  • Hay que seguir con proyectos pequeños para aprender nuevos lenguajes. But i still love PHP ❤

Que falta

  • Exportar datos a una plantilla en pdf.
  • Búsquedas, filtros, etc.
  • Probar con ActiveRecord y otro motor de plantillas.
  • Hacer lo mismo en python.

Ah claro, tiene que haber un repo en algún lado: https://github.com/luisuribe/redmine-reporter-ruby

Enviando SMS con PHP desde CentralSMS

El fin de semana pasada estuve probando con Central SMS para enviar mensajes de texto a celulares en Colombia, por lo que hice un par de scripts para el control y envio de mensajes.

La parte importante es el llamado al WebService, parece que la documentación está desactualizada en un par de variables y además hay que tener en cuenta que la IP desde donde se van a enviar los mensajes debe ser habilitada por ellos (El chat de soporte es muy rápido y por allí se puede hacer la solicitud)

<?php
    $server = "panel.centralsms.co";
    $port   = 80;

    $client = new
        SoapClient(
        "http://panel.centralsms.co/ws/sms.wsdl"
    );

    //create Ad test structure
    $message = array(
        "destinos" => "573201234567",
        "mensaje" => "Hello. Is there anybody in there?",
        "user" => "myusername",
        "password" => "osito99",
    );

    $result = $client->__call('smsEnviar', $message );
?>