barras_rails 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Rakefile +22 -0
- data/app/assets/images/barras_rails/logo_uff_branco.svg +3 -0
- data/app/assets/javascripts/barras_rails/barras_rails.js +352 -0
- data/app/assets/stylesheets/barras_rails/barra_de_aplicacoes.css +143 -0
- data/app/assets/stylesheets/barras_rails/barra_do_governo.css +140 -0
- data/app/helpers/barras_rails/application_helper.rb +106 -0
- data/app/models/barra_aplicacoes.rb +31 -0
- data/app/models/url_api_nao_definida_error.rb +6 -0
- data/app/views/layouts/application.html.erb +14 -0
- data/app/views/layouts/barras_rails/_barra_aplicacoes.html.erb +27 -0
- data/app/views/layouts/barras_rails/_barra_governo.html.erb +18 -0
- data/config/routes.rb +2 -0
- data/lib/barras_rails/configuracao.rb +16 -0
- data/lib/barras_rails/engine.rb +12 -0
- data/lib/barras_rails/utilidades.rb +41 -0
- data/lib/barras_rails/version.rb +4 -0
- data/lib/barras_rails.rb +19 -0
- data/lib/generators/barras_rails/install_generator.rb +56 -0
- data/lib/generators/barras_rails/templates/barras_rails.rb +52 -0
- data/lib/generators/barras_rails/templates/logo_uff_branco.svg +3 -0
- data/lib/tasks/barras_tasks.rake +4 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +2 -0
- data/spec/dummy/app/assets/javascripts/jquery-2.1.4.min.js +4 -0
- data/spec/dummy/app/assets/stylesheets/application.css +5 -0
- data/spec/dummy/app/assets/stylesheets/reset.css +423 -0
- data/spec/dummy/app/controllers/application_controller.rb +11 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/application/index.html.erb +1 -0
- data/spec/dummy/app/views/layouts/application.html.erb +19 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config/application.rb +34 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +78 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/assets.rb +8 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/barras_uff.rb +31 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +5 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +2596 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/helpers/application_helper_spec.rb +178 -0
- data/spec/lib/configuracao_spec.rb +21 -0
- data/spec/models/barra_aplicacoes_spec.rb +0 -0
- data/spec/rails_helper.rb +55 -0
- data/spec/spec_helper.rb +31 -0
- metadata +281 -0
@@ -0,0 +1,106 @@
|
|
1
|
+
module BarrasRails
|
2
|
+
# ApplicationHelper da gem que adicionar funcionalidades (métodos) ao helper
|
3
|
+
# da aplicação host.
|
4
|
+
module ApplicationHelper
|
5
|
+
# Inclui os métodos definidos em Utilidades
|
6
|
+
include BarrasRails::Utilidades
|
7
|
+
|
8
|
+
# Renderiza o partial da barra do governo
|
9
|
+
def barra_governo
|
10
|
+
render partial: 'layouts/barras_rails/barra_governo'
|
11
|
+
end
|
12
|
+
|
13
|
+
# Renderiza o partial da barra de aplicações
|
14
|
+
def barra_aplicacoes(iduff = nil)
|
15
|
+
@barra = {
|
16
|
+
limite_links: BarrasRails.configuracao.limite_links_visiveis,
|
17
|
+
aplicacoes: get_aplicacoes(iduff || iduff_do_usuario_corrente)
|
18
|
+
}
|
19
|
+
render partial: 'layouts/barras_rails/barra_aplicacoes'
|
20
|
+
end
|
21
|
+
|
22
|
+
# Renderiza ambas as barras
|
23
|
+
def barras_governo_e_aplicacoes(iduff = nil)
|
24
|
+
(barra_governo + barra_aplicacoes(iduff)).html_safe
|
25
|
+
end
|
26
|
+
|
27
|
+
# ======================================================================== #
|
28
|
+
# Os métodos abaixo são internos e não deveriam ser chamados diretamente #
|
29
|
+
# das views da aplicação que usa essa gem. #
|
30
|
+
# ======================================================================== #
|
31
|
+
|
32
|
+
# Retorna o conteúdo (codificado como uma string utf-8) de uma imagem
|
33
|
+
# vetorizada, do tipo svg.
|
34
|
+
def imagem_svg(name)
|
35
|
+
imagem = image_svg_from_assets(name)
|
36
|
+
(imagem || image_svg_from_manifest(name))
|
37
|
+
end
|
38
|
+
|
39
|
+
def get_aplicacoes(iduff)
|
40
|
+
BarraAplicacoes.carrega_aplicacoes(iduff)
|
41
|
+
end
|
42
|
+
|
43
|
+
# Retorna um único item da barra de aplicações. O item também inclui um
|
44
|
+
# separador vertical, mas este é colocado dinamicamente via javascript.
|
45
|
+
def item_barra_aplicacoes(path, label)
|
46
|
+
content_tag('li') do
|
47
|
+
link_to(label, path)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# Retorna true ou false se deve incluir um link de logar OU deslogar, de
|
52
|
+
# acordo com a situação de login do usuário atual.
|
53
|
+
def deve_incluir_link_login
|
54
|
+
inclui_login = BarrasRails.configuracao.incluir_link_de_login
|
55
|
+
inclui_sair = BarrasRails.configuracao.incluir_link_de_deslogar
|
56
|
+
(!usuario_logado? && inclui_login) || (usuario_logado? && inclui_sair)
|
57
|
+
end
|
58
|
+
|
59
|
+
def url_link_login
|
60
|
+
# Tenta retornar o path especificado na configuração da gem
|
61
|
+
path_login = BarrasRails.configuracao.path_login
|
62
|
+
return [root_url, path_login].join if path_login.present?
|
63
|
+
|
64
|
+
# Se o path_login não for especificado, usa o padrão do portal prod
|
65
|
+
BarraAplicacoes
|
66
|
+
.url_de_desenv_e_homolog('https://sistemas.uff.br/portal/login')
|
67
|
+
end
|
68
|
+
|
69
|
+
def link_de_logar
|
70
|
+
query_string = "?retorno=\"#{escapar_url(request.original_url)}\""
|
71
|
+
link_to('Entrar', url_link_login + query_string)
|
72
|
+
end
|
73
|
+
|
74
|
+
def link_de_login_ou_logout
|
75
|
+
if BarrasRails.configuracao.incluir_link_de_deslogar && usuario_logado?
|
76
|
+
BarraAplicacoes.url_de_desenv_e_homolog(link_de_deslogar).html_safe
|
77
|
+
elsif BarrasRails.configuracao.incluir_link_de_login
|
78
|
+
BarraAplicacoes.url_de_desenv_e_homolog(link_de_logar).html_safe
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# Escapa uma URL para poder usá-la em uma query string
|
83
|
+
def escapar_url(url)
|
84
|
+
URI.escape(url, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
85
|
+
end
|
86
|
+
|
87
|
+
def iduff_do_usuario_corrente
|
88
|
+
return unless self.respond_to?(:usuario_corrente) && usuario_corrente
|
89
|
+
usuario_corrente.iduff
|
90
|
+
end
|
91
|
+
|
92
|
+
def image_svg_from_assets(asset_name)
|
93
|
+
return unless Rails.application.assets
|
94
|
+
image_asset = Rails.application.assets.find_asset(asset_name)
|
95
|
+
return unless image_asset
|
96
|
+
raw(image_asset.source.force_encoding('UTF-8'))
|
97
|
+
end
|
98
|
+
|
99
|
+
def image_svg_from_manifest(asset_name)
|
100
|
+
path = Rails.application.assets_manifest.assets[asset_name]
|
101
|
+
return '' if path.blank?
|
102
|
+
path = File.join(Rails.application.assets_manifest.directory, path)
|
103
|
+
raw(File.binread(path).force_encoding('UTF-8'))
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
|
3
|
+
# Classe responsável por consumir a API BarrasUff e retornar a lista de
|
4
|
+
# aplicações que devem aparecer na barra de aplicações.
|
5
|
+
class BarraAplicacoes
|
6
|
+
def self.carrega_aplicacoes(iduff)
|
7
|
+
Rails.cache.fetch("#{iduff}/links_barras", expires_in: 1.hour) do
|
8
|
+
apps = JSON(open(url_api(iduff)).read)
|
9
|
+
apps.each { |app| app['url'] = url_de_desenv_e_homolog(app['url']) }
|
10
|
+
end
|
11
|
+
rescue
|
12
|
+
Rails.cache.delete("#{iduff}/links_barras")
|
13
|
+
nil
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.url_api(iduff)
|
17
|
+
url_api_barras = BarrasRails.configuracao.url_api_barras
|
18
|
+
raise UrlApiNaoDefinidaError if url_api_barras.blank?
|
19
|
+
url_api_barras = url_de_desenv_e_homolog(url_api_barras)
|
20
|
+
"#{url_api_barras}?iduff=#{iduff}&token=#{BarrasRails.configuracao.token}"
|
21
|
+
end
|
22
|
+
|
23
|
+
# Troca uma url de um sistema da STI de "https://app.uff.br" para
|
24
|
+
# "https://homologacao.sti.uff.br", para funcionar em homolog. Os sistemas e
|
25
|
+
# sites que não foram desse domínio app.uff.br não serão afetados
|
26
|
+
def self.url_de_desenv_e_homolog(url)
|
27
|
+
return url if Rails.env == 'production'
|
28
|
+
return url unless url.match %r{https?://app\.uff\.br}
|
29
|
+
url.sub('app.uff.br', 'homologacao.sti.uff.br')
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>BarrasUff</title>
|
5
|
+
<%= stylesheet_link_tag "barras_uff/application", media: "all" %>
|
6
|
+
<%= javascript_include_tag "barras_uff/application" %>
|
7
|
+
<%= csrf_meta_tags %>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
|
11
|
+
<%= yield %>
|
12
|
+
|
13
|
+
</body>
|
14
|
+
</html>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<div id="barra-aplicacoes" class="shadow"
|
2
|
+
data-limite-apps-visiveis="<%= @barra[:limite_links] %>">
|
3
|
+
|
4
|
+
<%= link_to root_path do %>
|
5
|
+
<%= imagem_svg('logo_uff_branco.svg') %>
|
6
|
+
<% end %>
|
7
|
+
|
8
|
+
<ul id="nav" class="dropdown dropdown-horizontal">
|
9
|
+
<% @barra[:aplicacoes].to_a.each do |link_app| %>
|
10
|
+
<%= item_barra_aplicacoes(link_app['url'], link_app['nome']) %>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<% if @barra[:aplicacoes].nil? %>
|
14
|
+
<%= item_barra_aplicacoes('#', 'Não foi possível carregar os links da Barra de Aplicações.') %>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<li id="outras-aplicacoes" class="dir">Outras Aplicações<small>▼</small>
|
18
|
+
<ul id="subNav"></ul>
|
19
|
+
</li>
|
20
|
+
</ul>
|
21
|
+
|
22
|
+
<% if deve_incluir_link_login %>
|
23
|
+
<div class="dados">
|
24
|
+
<%= link_de_login_ou_logout %>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
27
|
+
</div>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<div id="barra-brasil" style="background:#7F7F7F; padding:0 0 0 10px;display:block;">
|
2
|
+
<ul id="menu-barra-temp" style="list-style:none;">
|
3
|
+
<li style="display:inline; float:left;padding-right:10px; margin-right:10px; border-right:1px solid #EDEDED">
|
4
|
+
<a href="http://brasil.gov.br" style="font-family:sans,sans-serif; text-decoration:none; color:white;">
|
5
|
+
Portal do Governo Brasileiro
|
6
|
+
</a>
|
7
|
+
</li>
|
8
|
+
<li>
|
9
|
+
<a style="font-family:sans,sans-serif; text-decoration:none; color:white;"
|
10
|
+
href="http://epwg.governoeletronico.gov.br/barra/atualize.html">
|
11
|
+
Atualize sua Barra de Governo
|
12
|
+
</a>
|
13
|
+
</li>
|
14
|
+
</ul>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<script defer="defer" src="//barra.brasil.gov.br/barra.js" type="text/javascript">
|
18
|
+
</script>
|
data/config/routes.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
module BarrasRails
|
2
|
+
class Configuracao
|
3
|
+
attr_accessor :limite_links_visiveis, :incluir_link_de_deslogar, :token,
|
4
|
+
:incluir_link_de_login, :path_login, :url_api_barras
|
5
|
+
|
6
|
+
# Inicializa os valores default.
|
7
|
+
def initialize
|
8
|
+
@limite_links_visiveis = 0
|
9
|
+
@incluir_link_de_deslogar = true
|
10
|
+
@incluir_link_de_login = true
|
11
|
+
@path_login = nil
|
12
|
+
@url_api_barras = nil
|
13
|
+
@token = nil
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module BarrasRails
|
2
|
+
# Engine Rails da gem
|
3
|
+
class Engine < ::Rails::Engine
|
4
|
+
# Configura o RSpec e o FactoryGirl
|
5
|
+
config.generators do |g|
|
6
|
+
g.test_framework :rspec, fixture: false
|
7
|
+
g.fixture_replacement :factory_girl, dir: 'spec/factories'
|
8
|
+
g.assets false
|
9
|
+
g.helper false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Módulo de extensão para o ApplicationHelper, com algumas funcionalidades a
|
2
|
+
# mais, basicamente alguns helpers genéricos para os sistemas Rails da STI.
|
3
|
+
#
|
4
|
+
# As funcionalidades definidas aqui não são necessárias ou diretamente
|
5
|
+
# relacionadas com as barras do governo/aplicação, mas serão utilizadas pela
|
6
|
+
# maioria dos sistemas Rails, então estão definidas aqui.
|
7
|
+
#
|
8
|
+
# Possível TO-DO: extrair essas e outras funcionalidades "core" para uma gem
|
9
|
+
# tipo "sti-core".
|
10
|
+
module BarrasRails
|
11
|
+
module Utilidades
|
12
|
+
# Gera o HTML que inclui o html5shiv nos browsers IE abaixo da versão 9.
|
13
|
+
# Sobre o html5shiv: https://github.com/afarkas/html5shiv
|
14
|
+
def html5shiv
|
15
|
+
# Utilizando a sintaxe HEREDOC. O gsub remove os espaços da identação.
|
16
|
+
# Fonte: http://rubyquicktips.com/post/4438542511/heredoc-and-indent
|
17
|
+
# HEREDOC: https://en.wikipedia.org/wiki/Here_document
|
18
|
+
return <<-END_SHIV.gsub(/^ {6}/, '').html_safe
|
19
|
+
<!-- Le HTML5 shiv, for IE6-8 support of HTML elements -->
|
20
|
+
<!--[if lt IE 9]>
|
21
|
+
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"
|
22
|
+
type="text/javascript"></script>
|
23
|
+
<![endif]-->
|
24
|
+
END_SHIV
|
25
|
+
end
|
26
|
+
|
27
|
+
# Lê a data e hora do deploy de um arquivo no servidor. Se o Rails estiver
|
28
|
+
# em development, ou se o arquivo não existir, usa a hora atual.
|
29
|
+
# O retorno é uma string indicando a data e hora do último deploy. Essa
|
30
|
+
# informação é pega através de um arquivo chamado hora_deploy.txt qhe fica
|
31
|
+
# no root da aplicação. Para esse arquivo ser gerado, o Webistrano deve ser
|
32
|
+
# configurado para usar o recipe Hora Deploy
|
33
|
+
# (https://sistemas.uff.br/sti/deploy/recipes/46).
|
34
|
+
def hora_deploy(hora_default = Time.zone.now)
|
35
|
+
file_path = File.join(Rails.root, 'hora_deploy.txt')
|
36
|
+
hora = Time.zone.parse(File.read(file_path)) if File.exists?(file_path)
|
37
|
+
hora ||= hora_default
|
38
|
+
hora.strftime('Atualizado em: %d/%m/%Y - %H:%M:%S')
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/barras_rails.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'barras_rails/engine'
|
2
|
+
require 'barras_rails/configuracao'
|
3
|
+
require 'barras_rails/utilidades'
|
4
|
+
require 'iduff-sso' # Necessário para renderizar o link_de_deslogar
|
5
|
+
|
6
|
+
# Módulo principal da gem
|
7
|
+
module BarrasRails
|
8
|
+
class << self
|
9
|
+
attr_writer :configuracao
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.configuracao
|
13
|
+
@configuracao ||= Configuracao.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.configurar
|
17
|
+
yield(configuracao)
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# Generator para configurar a gem na aplicação host.
|
2
|
+
module BarrasRails
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
4
|
+
source_root File.expand_path('../templates', __FILE__)
|
5
|
+
|
6
|
+
desc <<DESC
|
7
|
+
Descrição:
|
8
|
+
- Copia o arquivo de configuração da gem para a pasta dos initializers
|
9
|
+
- Configura os requires para os arquivos CSS e JS da gem
|
10
|
+
- Adiciona a chamada para gerar as barras em layouts/application.html.erb
|
11
|
+
DESC
|
12
|
+
|
13
|
+
def copy_install_file
|
14
|
+
copy_file('barras_rails.rb', 'config/initializers/barras_rails.rb')
|
15
|
+
end
|
16
|
+
|
17
|
+
def copy_logo_uff_branco
|
18
|
+
copy_file('logo_uff_branco.svg', 'app/assets/images/logo_uff_branco.svg')
|
19
|
+
end
|
20
|
+
|
21
|
+
def add_requires_to_css
|
22
|
+
return if file_not_found('app/assets/stylesheets/application.css', false)
|
23
|
+
inject_into_file 'app/assets/stylesheets/application.css',
|
24
|
+
' *= require barras_rails/barra_de_aplicacoes',
|
25
|
+
after: %r{([\s]*\*= require [^\n]*\n)+}
|
26
|
+
|
27
|
+
inject_into_file 'app/assets/stylesheets/application.css',
|
28
|
+
' *= require barras_rails/barra_do_governo',
|
29
|
+
after: %r{([\s]*\*= require [^\n]*\n)+}
|
30
|
+
end
|
31
|
+
|
32
|
+
def add_requires_to_javascript
|
33
|
+
return if file_not_found('app/assets/javascripts/application.js')
|
34
|
+
inject_into_file 'app/assets/javascripts/application.js',
|
35
|
+
'//= require barras_rails/barras_rails',
|
36
|
+
after: %r{(//= require [^\n]*\n)+}
|
37
|
+
end
|
38
|
+
|
39
|
+
def add_call_to_barras_to_app_html
|
40
|
+
return if file_not_found('app/views/layouts/application.html.erb')
|
41
|
+
inject_into_file 'app/views/layouts/application.html.erb',
|
42
|
+
'<%= barras_governo_e_aplicacoes %>', after: "<body>\n"
|
43
|
+
end
|
44
|
+
|
45
|
+
protected
|
46
|
+
|
47
|
+
def file_not_found(file, say_if_not_found = true)
|
48
|
+
unless File.exists?(file)
|
49
|
+
msg = "#{file} not found, configure manually"
|
50
|
+
shell.say_status('not found', msg, :red) if say_if_not_found
|
51
|
+
return true
|
52
|
+
end
|
53
|
+
false
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
BarrasRails.configurar do |config|
|
2
|
+
# Arquivo de configuração da gem barras-rails.
|
3
|
+
#
|
4
|
+
# Este arquivo contém as configurações padrões para a gem barras-rails. Os
|
5
|
+
# valores exibidos aqui são os default.
|
6
|
+
|
7
|
+
# Indica um limite manual de links que aparecerão na barra de aplicações.
|
8
|
+
# Quando o número de aplicações da barra ultrapassar este limite, os links
|
9
|
+
# excedentes serão colocados no submenu de "Outras Aplicações".
|
10
|
+
# Essa separação para o submenu também ocorrerá quando a janela do browser do
|
11
|
+
# usuário não for grande o suficiente para acomodar todos os links. Nesse
|
12
|
+
# caso, os links irão para o submenu até a barra inteira caber em uma linha.
|
13
|
+
# Se não for necessário limitar o número de links visíveis, configure este
|
14
|
+
# valor para zero (0).
|
15
|
+
#
|
16
|
+
# config.limite_links_visiveis = 0
|
17
|
+
|
18
|
+
# Indica se a gem deve ou não incluir o link padrão de deslogar da gem
|
19
|
+
# Portal::Sso. Deve ser setado para false para aplicações que não usam o
|
20
|
+
# Portal para login.
|
21
|
+
#
|
22
|
+
# config.incluir_link_de_deslogar = true
|
23
|
+
#
|
24
|
+
# Indica se a gem deve ou não incluir o link padrão de logar apontando para o
|
25
|
+
# portal. Se for setado para true, esse link aparecerá no lugar do link de
|
26
|
+
# deslogar, quando o usuário não estiver logado no sistema.
|
27
|
+
#
|
28
|
+
# config.incluir_link_de_login = false
|
29
|
+
#
|
30
|
+
# Caso a configuração acima (incluir_link_de_logar) for marcada como true, o
|
31
|
+
# link padrão para login usado será o do portal, redirecionando depois para a
|
32
|
+
# página atual do usuário. Para trocar a URL padrão de login, use a
|
33
|
+
# configuração abaixo, 'path_login'. Essa configuração deve incluir apenas o
|
34
|
+
# path da URL (sem a parte do host), e com uma barra inicial.
|
35
|
+
# Ex: "/login"
|
36
|
+
#
|
37
|
+
# config.path_login = nil
|
38
|
+
#
|
39
|
+
# Configura a URL da API das Barras. Configuração obrigatória. Caso o ambiente
|
40
|
+
# não seja o de produção, a gem configurará automaticamente a url para usar
|
41
|
+
# a de homologação (substituindo sistemas.uff.br por homologacao.sti.uff.br).
|
42
|
+
#
|
43
|
+
config.url_api_barras = 'http://sistemas.uff.br/barras/links_por_iduff'
|
44
|
+
#
|
45
|
+
# O Token gerado pelo sistema Barras para sua aplicação. Esse token serve para
|
46
|
+
# identificar a aplicação que está pedindo a barra, para fins (futuramente) de
|
47
|
+
# métricas de uso e (atualmente) para não exibir o link da própria aplicação
|
48
|
+
# na barra. As instruções para enconrar esse token podem ser encontradas em:
|
49
|
+
# https://sistemas.uff.br/sti/git/cds/barras_uff/blob/master/README.md
|
50
|
+
#
|
51
|
+
# config.token = 'TOKEN_DA_SUA_APLICACAO'
|
52
|
+
end
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="410px" height="210px" viewBox="0 0 410 210">
|
2
|
+
<path fill="#ffffff" d="M237.962 71.2 l33.4643 0 0 -17.6 -0.1 0c-0.0767719 -12 -4.4 -23 -11.5 -31.5 -0 -0 -0 -0 -0 -0 -2 -2.4 -4.3 -4.7 -6.8 -6.7 -0 -0 -0 -0 -0 -0 -0.3 -0.3 -0.6 -0.5 -0.9 -0.7 -0 -0 -0 -0 -0 -0 -0.3 -0.2 -0.6 -0.5 -0.9 -0.7 -0 -0 -0 -0 -0 -0 -0.3 -0.2 -0.6 -0.5 -0.9 -0.7 0 -0 -0 -0 -0 -0 -0.3 -0.2 -0.6 -0.5 -1 -0.7 -0 -0 -0 -0 -0.1 -0 -1.6 -1.1 -3.3 -2.1 -5.1 -3 -0 -0 -0 -0 -0 -0 -0.7 -0.4 -1.4 -0.7 -2.1 -1 -0 -0 -0 -0 -0 -0 -0.4 -0.2 -0.7 -0.3 -1.1 -0.5 -0 -0 -0 -0 -0 -0 -0.3 -0.1 -0.7 -0.3 -1.1 -0.4 -0 -0 -0 -0 -0 -0 -0.3 -0.1 -0.5 -0.2 -0.8 -0.3 -0.1 -0 -0.2 -0.1 -0.3 -0.1 -0.2 -0.1 -0.5 -0.2 -0.7 -0.3 -0.1 -0.1 -0.3 -0.1 -0.4 -0.2 -0.2 -0.1 -0.3 -0.1 -0.5 -0.2 -0.2 -0.1 -0.5 -0.2 -0.7 -0.2 -0.1 -0 -0.2 -0 -0.2 -0.1 -0.3 -0.1 -0.6 -0.2 -0.9 -0.3 -0 0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.2 -1.1 -0.3 -0 -0 -0 -0 -0 -0 -0.2 -0 -0.4 -0.1 -0.5 -0.1 -0.2 -0.1 -0.5 -0.1 -0.7 -0.2 -0 0 -0 0 -0 0 -0.4 -0.1 -0.8 -0.2 -1.2 -0.3 -0 -0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.2 -1.2 -0.2 -0 -0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.1 -1.2 -0.2 -0 -0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.1 -1.2 -0.2 -0 -0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.1 -1.2 -0.1 -0 0 -0 -0 -0 -0 -0.4 -0 -0.8 -0.1 -1.2 -0.1 -0 0 -0 0 -0 -0 -0.4 -0 -0.8 -0.1 -1.3 -0.1 -0 0 -0 0 -0 0 -0.4 -0 -0.8 -0 -1.3 -0 -0 0 -0 0 -0 0 -0.4 -0 -0.9 -0 -1.3 -0 -27.5 0 -49.9 22.4 -49.9 49.9 0 0 0 0.4 0 0.389765l0.0295277 0 0 33.5 -50.5 0.2 -0 68.1 -0 0.00236221c-0.243308 8.9 -7.7 16.1 -16.6 16.1 -8.9 0 -16.3 -7.2 -16.5 -16.0654l-0.00708664 0 0 -0.5 0 -68.1 -27.9 0 0 -0 -54.9 0 0 33.6 49.6 0 0 35 -0 0.00708664c0 27.5 22.4 49.9 49.9 49.9 0.4 0 0.9 -0 1.3 -0 0 0 0 0 0 0 0.4 -0 0.8 -0 1.3 -0 0 0 0 -0 0 -0 0.4 -0 0.8 -0 1.3 -0.1 0 0 0 0 0 -0 0.4 -0 0.8 -0.1 1.2 -0.1 0 0 0 -0 0 -0 0.1 -0 0.2 -0 0.3 -0 0.3 -0 0.6 -0.1 0.9 -0.1 0.4 -0.1 0.8 -0.1 1.2 -0.2 0 -0 0 -0 0 -0 0.4 -0.1 0.8 -0.1 1.2 -0.2 0 0 0 -0 0 -0 0.2 -0 0.4 -0.1 0.7 -0.1 0.2 -0 0.4 -0.1 0.5 -0.1 0 -0 0 -0 0 -0 0.4 -0.1 0.8 -0.2 1.2 -0.3 0 -0 0 -0 0 -0 0.2 -0 0.4 -0.1 0.5 -0.1 0.2 -0.1 0.4 -0.1 0.7 -0.2 0.1 -0 0.3 -0.1 0.4 -0.1 0.3 -0.1 0.5 -0.1 0.8 -0.2 0.2 -0 0.3 -0.1 0.5 -0.1 0.2 -0.1 0.5 -0.1 0.7 -0.2 0.2 -0.1 0.5 -0.1 0.7 -0.2 0.2 -0.1 0.3 -0.1 0.5 -0.2 0.2 -0.1 0.4 -0.2 0.7 -0.2 0.2 -0.1 0.3 -0.1 0.5 -0.2 0.2 -0.1 0.5 -0.2 0.7 -0.3 0.1 -0.1 0.3 -0.1 0.4 -0.2 0.3 -0.1 0.5 -0.2 0.8 -0.3 0.1 -0 0.2 -0.1 0.3 -0.1 0.3 -0.1 0.5 -0.2 0.8 -0.3 0.1 -0 0.2 -0.1 0.3 -0.1 0.3 -0.1 0.5 -0.2 0.8 -0.4 0.1 -0 0.2 -0.1 0.3 -0.1 0.3 -0.1 0.5 -0.3 0.8 -0.4 0.1 -0 0.2 -0.1 0.3 -0.1 0.3 -0.1 0.6 -0.3 0.9 -0.5 0.1 -0 0.1 -0.1 0.2 -0.1 0.3 -0.2 0.6 -0.3 0.9 -0.5 0.1 -0 0.1 -0.1 0.2 -0.1 0.3 -0.2 0.6 -0.3 0.9 -0.5 0 -0 0.1 -0.1 0.1 -0.1 0.6 -0.4 1.3 -0.8 1.9 -1.2 0 -0 0.1 -0 0.1 -0.1 0.3 -0.2 0.6 -0.4 0.9 -0.6 0 -0 0 -0 0 -0 0.3 -0.2 0.6 -0.4 0.9 -0.6 0 -0 0.1 -0 0.1 -0.1 0.3 -0.2 0.5 -0.4 0.8 -0.6 0.1 -0 0.1 -0.1 0.2 -0.1 0.3 -0.2 0.5 -0.4 0.8 -0.6 0 -0 0.1 -0.1 0.1 -0.1 0.9 -0.8 1.8 -1.5 2.7 -2.4 0 -0 0 -0 0 -0 0.3 -0.3 0.6 -0.5 0.8 -0.8 0 -0 0 -0 0 -0 0.8 -0.8 1.6 -1.7 2.4 -2.6 0 -0 0 -0 0 -0 0.2 -0.3 0.5 -0.5 0.7 -0.8 0 -0 0.1 -0.1 0.1 -0.1 0.2 -0.3 0.5 -0.6 0.7 -0.9 0 -0 0 -0 0 -0 0.2 -0.3 0.4 -0.6 0.7 -0.9 0 -0 0 -0.1 0.1 -0.1 2.6 -3.5 4.8 -7.3 6.5 -11.5 0 -0 0 -0 0 -0 2.3 -5.6 3.8 -11.8 3.8 -18.1583l0.00354332 0 0 -35.3 16.8 0 0 83.3 33.2 0 0 -83.3 66.8 0 0 83 33.4 0 0 -83 100.1 0 0 -33.4 -100.1 0 0 -33.5363c-0.00118111 -0 -0 -0 -0 -0 0 -9.1 7.5 -16.6 16.6 -16.6 9.1 0 16.6 7.6 16.6 16.7 -0 0 0 -0 0 -0.0118111l0 16.8 33.4 0 0 -16.8 -0 0c0 -27.5 -22.4 -49.9 -49.9 -49.9 -0.4 0 -0.9 0 -1.3 0 -0 0 -0 0 -0 0 -0.4 0 -0.8 0 -1.3 0 -0 0 -0 0 -0 0 -0.4 0 -0.8 0 -1.2 0.1 -0 0 -0 0 -0 0 -0.4 0 -0.8 0.1 -1.2 0.1 -0 0 -0 0 -0 0 -0.4 0 -0.8 0.1 -1.2 0.1 -0 0 -0 0 -0 0 -0.4 0.1 -0.8 0.1 -1.2 0.2 -0 0 -0 0 -0 0 -0.2 0 -0.5 0.1 -0.7 0.1 -0.2 0 -0.4 0.1 -0.6 0.1 -0.1 0 -0.3 0.1 -0.4 0.1 -0.3 0.1 -0.5 0.1 -0.8 0.2 -0.1 0 -0.2 0 -0.3 0.1 -0.3 0.1 -0.6 0.1 -0.9 0.2 -0.1 0 -0.1 0 -0.2 0 -0.3 0.1 -0.7 0.2 -1 0.2 -0.1 0 -0.3 0.1 -0.4 0.1 -0.3 0.1 -0.6 0.1 -0.8 0.2 -0.1 0 -0.1 0 -0.2 0.1 -0.3 0.1 -0.6 0.2 -1 0.3 -0.3 0.1 -0.6 0.2 -0.8 0.3 -0.1 0 -0.2 0.1 -0.3 0.1 -0.3 0.1 -0.5 0.2 -0.8 0.3 -0.1 0 -0.3 0.1 -0.4 0.1 -0.2 0.1 -0.4 0.1 -0.6 0.2 -0.2 0.1 -0.4 0.1 -0.6 0.2 -0.2 0.1 -0.4 0.1 -0.5 0.2 -0.2 0.1 -0.4 0.2 -0.6 0.2 -0.2 0.1 -0.3 0.2 -0.5 0.2 -0.2 0.1 -0.4 0.2 -0.6 0.3 -0.1 0.1 -0.3 0.1 -0.4 0.2 -0.2 0.1 -0.5 0.2 -0.7 0.3 -0.2 0.1 -0.3 0.2 -0.5 0.2 -0.2 0.1 -0.4 0.2 -0.6 0.3 -0.2 0.1 -0.5 0.2 -0.7 0.4 -0.1 0.1 -0.3 0.1 -0.4 0.2 -0.2 0.1 -0.5 0.3 -0.7 0.4 -0.1 0.1 -0.2 0.1 -0.3 0.2 -0.3 0.2 -0.6 0.4 -0.9 0.5 -0 0 -0 0 -0.1 0 -0.3 0.2 -0.6 0.4 -1 0.6 -0 0 -0 0 -0.1 0 -0.3 0.2 -0.6 0.4 -1 0.6 -0 0 -0 0 -0 0 -0.3 0.2 -0.6 0.4 -0.9 0.6 -0 0 -0 0 -0 0 -0.3 0.2 -0.6 0.4 -0.9 0.6 -0 0 -0.1 0 -0.1 0.1 -0.3 0.2 -0.6 0.4 -0.9 0.6 -0 0 -0.1 0.1 -0.1 0.1 -0.3 0.2 -0.6 0.4 -0.8 0.7 -0 0 -0.1 0.1 -0.1 0.1 -1.2 1 -2.4 2 -3.5 3.1 -0 0 -0 0 -0 0 -1.1 1.1 -2.2 2.3 -3.2 3.5 -0 0 -0 0 -0 0 -0.2 0.3 -0.5 0.6 -0.7 0.9 -0 0 -0 0 -0 0 -0.2 0.3 -0.5 0.6 -0.7 0.9 -0 0 -0 0 -0 0 -0.2 0.3 -0.5 0.6 -0.7 0.9 -0 0 -0 0 -0 0 -0.2 0.3 -0.4 0.6 -0.7 0.9 -0 0 -0 0 -0 0 -0.2 0.3 -0.4 0.6 -0.6 0.9 -0 0 -0 0.1 -0.1 0.1 -1.7 2.6 -3.2 5.4 -4.4 8.4 -0 0 -0 0.1 -0.1 0.1 -0.1 0.3 -0.3 0.7 -0.4 1 -0 0 -0 0.1 -0 0.1 -0.1 0.4 -0.3 0.7 -0.4 1.1 -0 0 -0 0 -0 0 -0.1 0.4 -0.3 0.8 -0.4 1.1 -0 0 -0 0 -0 0 -0.1 0.4 -0.2 0.8 -0.3 1.1 -0 0 -0 0 -0 0 -0.1 0.4 -0.2 0.8 -0.3 1.2 0 0 -0 0 -0 0 -0.2 0.8 -0.4 1.6 -0.6 2.4 -0 0 -0 0 -0 0 -0.1 0.4 -0.2 0.8 -0.2 1.2 -0 0 -0 0 -0 0 -0.1 0.4 -0.1 0.8 -0.2 1.2 -0 0 -0 0 -0 0.1 -0.1 0.4 -0.1 0.7 -0.2 1.1 -0 0 -0 0.1 -0 0.1 -0.1 0.4 -0.1 0.8 -0.1 1.2 -0 0 -0 0 -0 0.1 -0 0.4 -0.1 0.7 -0.1 1.1 -0 0.1 -0 0.1 -0 0.2 -0 0.4 -0.1 0.8 -0.1 1.2 -0 0 -0 0 -0 0.1 -0 0.4 -0 0.8 -0.1 1.2 -0 0 -0 0 -0 0.1 -0 0.4 -0 0.8 -0 1.2 0 0 0 0 0 0.0271655l-0.160631 0 0 34.1 -66.8 0 -0 -33.7147c0 0 0 0 0 0 0 -9.1 7.6 -16.7 16.7 -16.7 9.1 0 16.6 7.4 16.6 16.6 0 0.2 -0 0.5 -0 0.726381l0 16.5603z"/>
|
3
|
+
</svg>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
== README
|
2
|
+
|
3
|
+
This README would normally document whatever steps are necessary to get the
|
4
|
+
application up and running.
|
5
|
+
|
6
|
+
Things you may want to cover:
|
7
|
+
|
8
|
+
* Ruby version
|
9
|
+
|
10
|
+
* System dependencies
|
11
|
+
|
12
|
+
* Configuration
|
13
|
+
|
14
|
+
* Database creation
|
15
|
+
|
16
|
+
* Database initialization
|
17
|
+
|
18
|
+
* How to run the test suite
|
19
|
+
|
20
|
+
* Services (job queues, cache servers, search engines, etc.)
|
21
|
+
|
22
|
+
* Deployment instructions
|
23
|
+
|
24
|
+
* ...
|
25
|
+
|
26
|
+
|
27
|
+
Please feel free to use a different markup language if you do not plan to run
|
28
|
+
<tt>rake doc:app</tt>.
|
data/spec/dummy/Rakefile
ADDED