chore: reorganize para current/, rails 8.1, testes e readme

- move app para current/ (estrutura capistrano)
- rails 7.2 → 8.1, ruby 3.2, sqlite3 2.x
- adiciona primary_key Idinformativo no model
- schema.rb completo com todas as tabelas
- testes minitest: models (Tag, Informativo, Tema) e controllers
- readme atualizado em pt-br com stack e instruções de desenvolvimento
- gitignore exclui dump.sql, *.duckdb e sqlite3
This commit is contained in:
2026-06-18 18:58:01 +02:00
parent 691ed8e7e5
commit 25832564f9
132 changed files with 2067 additions and 1253 deletions

View File

@@ -0,0 +1,2 @@
class ApplicationController < ActionController::Base
end

View File

View File

@@ -0,0 +1,41 @@
class PageController < ApplicationController
# caches_page :home, :informativo
def home
@informativos = Informativo.order("Datainc desc").page(params[:page] || 1)
end
def informativo
@informativo = Informativo.find(params[:id])
@title = @informativo.titulo
end
def tag
@tag = Tag.find_by(param: params[:param])
@informativos = @tag.informativos.page(params[:page] || 1)
@title = @tag.nome
render "list"
end
def tema
@tema = Tema.find_by(param: params[:param])
@informativos = @tema.informativos.page(params[:page] || 1)
@title = @tema.padrao
render "list"
end
def busca
@search = params[:q]
terms = @search.to_s.split(/\s+/)
scope = Informativo.all
terms.each do |term|
clean = term.gsub(/[+\-*"()~<>]/, "")
next if clean.blank?
scope = scope.where("titulo LIKE ?", "%#{clean}%")
end
@informativos = scope.order("Datainc desc").page(params[:page] || 1)
@title = "Busca: #{@search}"
render "list"
end
end