Class: BarraAplicacoes
- Inherits:
-
Object
- Object
- BarraAplicacoes
- Defined in:
- app/models/barra_aplicacoes.rb
Overview
Classe responsável por consumir a API BarrasUff e retornar a lista de aplicações que devem aparecer na barra de aplicações.
Class Method Summary collapse
- .carrega_aplicacoes(iduff) ⇒ Object
- .url_api(iduff) ⇒ Object
-
.url_de_desenv_e_homolog(url) ⇒ Object
Troca uma url de um sistema da STI de “app.uff.br” para “homologacao.sti.uff.br”, para funcionar em homolog.
Class Method Details
.carrega_aplicacoes(iduff) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'app/models/barra_aplicacoes.rb', line 6 def self.carrega_aplicacoes(iduff) Rails.cache.fetch("#{iduff}/links_barras", expires_in: 1.hour) do apps = JSON(open(url_api(iduff)).read) apps.each { |app| app['url'] = url_de_desenv_e_homolog(app['url']) } end rescue Rails.cache.delete("#{iduff}/links_barras") nil end |
.url_api(iduff) ⇒ Object
16 17 18 19 20 21 |
# File 'app/models/barra_aplicacoes.rb', line 16 def self.url_api(iduff) = BarrasRails.configuracao. raise UrlApiNaoDefinidaError if .blank? = url_de_desenv_e_homolog() "#{}?iduff=#{iduff}&token=#{BarrasRails.configuracao.token}" end |
.url_de_desenv_e_homolog(url) ⇒ Object
Troca uma url de um sistema da STI de “app.uff.br” para “homologacao.sti.uff.br”, para funcionar em homolog. Os sistemas e sites que não foram desse domínio app.uff.br não serão afetados
26 27 28 29 30 |
# File 'app/models/barra_aplicacoes.rb', line 26 def self.url_de_desenv_e_homolog(url) return url if Rails.env == 'production' return url unless url.match %r{https?://app\.uff\.br} url.sub('app.uff.br', 'homologacao.sti.uff.br') end |