pg_rails 7.3.4 → 7.4.0
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 +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
|