Cómo se hizo Rennaisance: Analytics
12 de diciembre de 2011 / Categoría: Desarrollo Leer comentarios
Hacía tiempo que tenía dentro de la lista de gemas pendientes de probar Garb, un wrapper en Ruby de la API de Google Analytics. Así que cuando comenzó el desarrollo de la primera versión de Rennaisance tenía claro que aprovecharía para incluir una sección de estadísticas ;)
El funcionamiento de Garb es muy sencillo. En primer lugar tenemos que definir las clases que representan los informes que queremos obtener:
class LastWeekReport
extend Garb::Model
metrics :visits, :pageviews
dimensions :date
end
class TopTenReport
extend Garb::Model
metrics :visits, :pageviews
dimensions :page_path
end
Si queréis conocer más sobre las dimensiones y las métricas disponibles es bastante aconsejable que echéis un vistazo a este enlace.
Una vez definidas las clases de nuestros informes podemos hacer uso de ellas en algún controlador de la siguiente manera:
Garb::Session.login("tu-usuario", "tu-pass")
@profile = Garb::Management::Profile.all.detect {|p| p.web_property_id == "UA-1234"}
@last_week_results = LastWeekReport.results(@profile,
start_date: (Date.today - 7),
end_date: Date.today
)
@top_ten_results = TopTenReport.results(@profile,
start_date: (Date.today - 30),
end_date: Date.today, limit: 10,
sort: :pageviews.desc
)
En mi caso las estadísticas son las visitas de los 7 últimos días y los 10 enlaces más visitados de la web. Creo que no hace falta explicar que "tu-usuario", "tu-pass" y el "UA-1234" no son valores reales, sino que hay que cambiarlos por los valores reales de vuestra aplicación ;)
Teniendo un poco de imaginación se pueden sacar informes todo lo complejos que necesitéis.











