pg_rails 7.3.4 → 7.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/pg_engine/app/components/internal_error_component.rb +1 -1
- data/pg_engine/app/controllers/concerns/pg_engine/resource.rb +1 -1
- data/pg_engine/app/controllers/pg_engine/base_controller.rb +1 -1
- data/pg_engine/app/controllers/pg_engine/devise_controller.rb +10 -0
- data/pg_engine/app/controllers/public/mensaje_contactos_controller.rb +10 -0
- data/pg_engine/config/initializers/active_admin.rb +2 -0
- data/pg_engine/config/initializers/rollbar.rb +2 -0
- data/pg_engine/config/initializers/zeitwerk.rb +1 -0
- data/pg_engine/config/routes.rb +3 -1
- data/pg_engine/lib/pg_engine/engine.rb +1 -1
- data/pg_engine/lib/pg_engine.rb +2 -2
- data/pg_layout/app/javascript/application.js +1 -1
- data/pg_layout/app/javascript/config/turbo_rails/index.js +21 -1
- data/pg_layout/app/views/layouts/pg_layout/base.html.slim +2 -1
- data/pg_rails/lib/version.rb +1 -1
- data/pg_scaffold/lib/pg_scaffold/railtie.rb +9 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76de379c2a544b8c8cbb3dc273d48c889a4e1433382f4cb5506f6af6ab5a87a0
|
4
|
+
data.tar.gz: 6e8328117a18ec5919b5e524491bd9dae8a157c14af0bf9ad4ff81c360ef39a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '050966c0de869132e98d92ee13a2697f38429a1b11145161318c41ffa00cbba38f02dde11d2d72a6db798171cf99c9377eb48422bd292ba01a89ba5f49a1ee1d'
|
7
|
+
data.tar.gz: 0c61544a7e0152a31fd2e2cdea22172e809f04125d11cb2d009e40c676bd631e713c9758e9fb7189840e65851df32d2ee94f8f705baebba695ce04f5a8718b5e
|
@@ -15,7 +15,7 @@ class InternalErrorComponent < BaseComponent
|
|
15
15
|
</div>
|
16
16
|
Por favor, intentá nuevamente
|
17
17
|
<br>
|
18
|
-
o <a class="text-decoration-underline" href="<%= new_public_mensaje_contacto_path %>">dejá un mensaje</a>
|
18
|
+
o <a class="text-decoration-underline" href="<%= new_public_mensaje_contacto_path %>" data-turbo="false">dejá un mensaje</a>
|
19
19
|
para que te avisemos
|
20
20
|
<br>
|
21
21
|
cuando el problema esté resuelto 🙏
|
@@ -379,7 +379,7 @@ module PgEngine
|
|
379
379
|
def render_listing
|
380
380
|
total = @collection.count
|
381
381
|
current_page = params[:page].presence&.to_i || 1
|
382
|
-
if current_page_size * (current_page - 1)
|
382
|
+
if current_page_size * (current_page - 1) >= total
|
383
383
|
current_page = (total.to_f / current_page_size).ceil
|
384
384
|
end
|
385
385
|
@collection = @collection.page(current_page).per(current_page_size)
|
@@ -96,7 +96,7 @@ module PgEngine
|
|
96
96
|
@navbar_chevron_class = navbar_expanded ? 'bi-chevron-left' : 'bi-chevron-right'
|
97
97
|
@navbar = Navbar.new(Current.user)
|
98
98
|
|
99
|
-
if Rollbar.configuration.enabled && Rails.application.credentials.rollbar.present?
|
99
|
+
if defined?(Rollbar) && Rollbar.configuration.enabled && Rails.application.credentials.rollbar.present?
|
100
100
|
@rollbar_token = Rails.application.credentials.rollbar.access_token_client
|
101
101
|
end
|
102
102
|
|
@@ -1,5 +1,15 @@
|
|
1
1
|
module PgEngine
|
2
2
|
class DeviseController < ApplicationController
|
3
|
+
prepend_before_action only: :create do
|
4
|
+
rate_limiting(
|
5
|
+
to: 10,
|
6
|
+
within: 1.hour,
|
7
|
+
by: -> { request.remote_ip },
|
8
|
+
with: -> { head :too_many_requests },
|
9
|
+
store: cache_store
|
10
|
+
)
|
11
|
+
end
|
12
|
+
|
3
13
|
before_action :configure_permitted_parameters
|
4
14
|
before_action do
|
5
15
|
@no_main_frame = true
|
@@ -4,6 +4,16 @@
|
|
4
4
|
|
5
5
|
module Public
|
6
6
|
class MensajeContactosController < PublicController
|
7
|
+
prepend_before_action only: :create do
|
8
|
+
rate_limiting(
|
9
|
+
to: 3,
|
10
|
+
within: 1.hour,
|
11
|
+
by: -> { request.remote_ip },
|
12
|
+
with: -> { head :too_many_requests },
|
13
|
+
store: cache_store
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
7
17
|
include PgEngine::Resource
|
8
18
|
|
9
19
|
self.clase_modelo = MensajeContacto
|
@@ -1,3 +1,4 @@
|
|
1
|
+
if defined? Rollbar
|
1
2
|
Rollbar.configure do |config|
|
2
3
|
# Without configuration, Rollbar is enabled in all environments.
|
3
4
|
# To disable in specific environments, set config.enabled=false.
|
@@ -89,3 +90,4 @@ Rollbar.configure do |config|
|
|
89
90
|
acceptable_levels.include?(item[:level].to_sym) ? 'gogoogogooo' : 'ignored'
|
90
91
|
end
|
91
92
|
end
|
93
|
+
end
|
data/pg_engine/config/routes.rb
CHANGED
@@ -35,7 +35,9 @@ Rails.application.routes.draw do
|
|
35
35
|
pg_resource(:user_accounts)
|
36
36
|
get 'login_as', to: 'users#login_as'
|
37
37
|
end
|
38
|
-
ActiveAdmin
|
38
|
+
if defined? ActiveAdmin
|
39
|
+
ActiveAdmin.routes(self)
|
40
|
+
end
|
39
41
|
end
|
40
42
|
|
41
43
|
# Prefix Verb URI Pattern Controller#Action
|
@@ -28,7 +28,7 @@ module PgEngine
|
|
28
28
|
initializer 'pg_engine.set_factory_paths', after: 'factory_bot.set_factory_paths' do
|
29
29
|
# Para que tome las factories de pg_engine/spec/factories
|
30
30
|
# además de las de dummy/spec/factories
|
31
|
-
FactoryBot.definition_file_paths << "#{root}/spec/factories"
|
31
|
+
FactoryBot.definition_file_paths << "#{root}/spec/factories" if defined? FactoryBot
|
32
32
|
end
|
33
33
|
|
34
34
|
initializer 'configurar_pg_rails' do
|
data/pg_engine/lib/pg_engine.rb
CHANGED
@@ -35,14 +35,12 @@ require 'discard'
|
|
35
35
|
require 'audited'
|
36
36
|
require 'pundit'
|
37
37
|
require 'dotenv-rails'
|
38
|
-
require 'faker'
|
39
38
|
require 'puma'
|
40
39
|
require 'rollbar'
|
41
40
|
require 'sprockets/rails'
|
42
41
|
require 'jsbundling-rails'
|
43
42
|
require 'cssbundling-rails'
|
44
43
|
require 'turbo-rails'
|
45
|
-
require 'activeadmin'
|
46
44
|
require 'sassc'
|
47
45
|
require 'image_processing'
|
48
46
|
require 'hashid/rails'
|
@@ -52,6 +50,7 @@ require 'mailgun-ruby'
|
|
52
50
|
require 'pg_search'
|
53
51
|
require 'view_component'
|
54
52
|
require 'noticed'
|
53
|
+
require 'ransack'
|
55
54
|
require 'ransack_memory'
|
56
55
|
require 'holidays'
|
57
56
|
|
@@ -74,6 +73,7 @@ if Rails.env.local?
|
|
74
73
|
# require 'spring-commands-rspec'
|
75
74
|
require 'rspec-rails'
|
76
75
|
require 'factory_bot_rails'
|
76
|
+
require 'faker'
|
77
77
|
require 'rails-controller-testing'
|
78
78
|
end
|
79
79
|
|
@@ -31,7 +31,7 @@ document.addEventListener('turbo:before-fetch-request', (ev) => {
|
|
31
31
|
// on successful redirect no haya posibilidad de que se abra un modal
|
32
32
|
// FIXME: buscar una manera mejor de hacerlo porque es para problemas
|
33
33
|
// quizás, con la movida de abrir modales desde JS
|
34
|
-
if (ev.detail.fetchOptions.method === 'post') {
|
34
|
+
if (ev.detail.fetchOptions.method.toLowerCase() === 'post') {
|
35
35
|
ev.detail.fetchOptions.headers.Accept = 'text/html, application/xhtml+xml'
|
36
36
|
}
|
37
37
|
|
@@ -3,8 +3,9 @@
|
|
3
3
|
|
4
4
|
import './set_consumer'
|
5
5
|
import './progress_bar'
|
6
|
-
|
7
6
|
import '@hotwired/turbo-rails'
|
7
|
+
import { flashMessage } from 'pg_rails/utils'
|
8
|
+
import Rollbar from 'rollbar'
|
8
9
|
|
9
10
|
// TODO: testear con capybara
|
10
11
|
document.addEventListener('turbo:before-cache', () => {
|
@@ -22,6 +23,25 @@ document.addEventListener('turbo:before-cache', () => {
|
|
22
23
|
})
|
23
24
|
})
|
24
25
|
|
26
|
+
document.addEventListener('turbo:frame-missing', (ev) => {
|
27
|
+
Rollbar.error('Turbo Frame missing')
|
28
|
+
ev.preventDefault()
|
29
|
+
const html = `
|
30
|
+
<div>
|
31
|
+
<div class="mb-1">
|
32
|
+
Ocurrió algo inesperado
|
33
|
+
</div>
|
34
|
+
Por favor, intentá nuevamente
|
35
|
+
<br>
|
36
|
+
o <a class="text-decoration-underline" href="/contacto" data-turbo="false">dejá un mensaje</a>
|
37
|
+
para que te avisemos
|
38
|
+
<br>
|
39
|
+
cuando el problema esté resuelto 🙏
|
40
|
+
</div>
|
41
|
+
`
|
42
|
+
|
43
|
+
flashMessage(html, 'alert')
|
44
|
+
})
|
25
45
|
// document.addEventListener('turbo:before-stream-render', function () { console.log('turbo:before-stream-render') })
|
26
46
|
// document.addEventListener('turbo:render', function () { console.log('turbo:render') })
|
27
47
|
// document.addEventListener('turbo:before-render', function () { console.log('turbo:before-render') })
|
@@ -28,7 +28,8 @@ html
|
|
28
28
|
meta name="cable-history-timestamp" content="#{Time.now.to_i}"
|
29
29
|
= csrf_meta_tags
|
30
30
|
= csp_meta_tag
|
31
|
-
|
31
|
+
- if defined? Anycable
|
32
|
+
= action_cable_with_jwt_meta_tag
|
32
33
|
|
33
34
|
= stylesheet_link_tag 'application', 'data-turbo-track': 'reload'
|
34
35
|
= javascript_include_tag 'application', 'data-turbo-track': 'reload', type: 'module'
|
data/pg_rails/lib/version.rb
CHANGED
@@ -1,15 +1,17 @@
|
|
1
1
|
module PgScaffold
|
2
2
|
class Railtie < ::Rails::Railtie
|
3
3
|
initializer 'configurar_generators', after: 'factory_bot.set_fixture_replacement' do
|
4
|
-
|
5
|
-
|
4
|
+
unless Rails.env.production?
|
5
|
+
require_relative 'monkey_patches/mejoras_de_atributos'
|
6
|
+
require_relative 'monkey_patches/mejoras_a_named_base'
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
8
|
+
config.app_generators do |g|
|
9
|
+
g.test_framework :pg_rspec
|
10
|
+
g.orm :pg_active_record
|
10
11
|
|
11
|
-
|
12
|
-
|
12
|
+
g.fallbacks[:pg_rspec] = :rspec
|
13
|
+
g.fallbacks[:pg_active_record] = :active_record
|
14
|
+
end
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martín Rosso
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|