pg_rails 7.0.8.pre.alpha.14 → 7.0.8.pre.alpha.15

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.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/pg_engine/app/controllers/concerns/pg_engine/resource.rb +5 -0
  3. data/pg_engine/app/helpers/pg_engine/pg_rails_helper.rb +3 -3
  4. data/pg_engine/config/initializers/anycable.rb +13 -0
  5. data/pg_engine/config/initializers/cable_ready.rb +29 -0
  6. data/pg_engine/lib/pg_engine/error.rb +4 -0
  7. data/pg_engine/lib/pg_engine/utils/pg_logger.rb +35 -6
  8. data/pg_engine/lib/pg_engine.rb +1 -0
  9. data/pg_engine/spec/helpers/pg_engine/pg_rails_helper_spec.rb +7 -7
  10. data/pg_engine/spec/lib/pg_engine/utils/pg_engine/pg_logger_spec.rb +68 -2
  11. data/pg_layout/app/assets/stylesheets/animations.scss +4 -0
  12. data/pg_layout/{index.js → app/javascript/application.js} +6 -12
  13. data/pg_layout/app/javascript/channels/consumer.js +8 -0
  14. data/pg_layout/app/javascript/channels/index.js +4 -0
  15. data/pg_layout/app/javascript/config/cable_ready.js +24 -0
  16. data/pg_layout/app/javascript/config/index.js +1 -0
  17. data/pg_layout/app/javascript/controllers/application.js +4 -0
  18. data/pg_layout/app/javascript/controllers/index.js +11 -0
  19. data/pg_layout/app/javascript/{navbar_controller.js → controllers/navbar_controller.js} +1 -1
  20. data/pg_layout/app/views/layouts/pg_layout/devise.html.slim +2 -1
  21. data/pg_layout/app/views/layouts/pg_layout/layout.html.slim +4 -1
  22. data/pg_layout/app/views/pg_layout/_flash.html.slim +2 -0
  23. data/pg_rails/js/index.js +1 -1
  24. data/pg_rails/lib/pg_rails/vcr_support.rb +7 -0
  25. data/pg_rails/lib/version.rb +1 -1
  26. metadata +18 -9
  27. /data/pg_layout/app/javascript/{fadein_onload_controller.js → controllers/fadein_onload_controller.js} +0 -0
  28. /data/pg_layout/app/javascript/{nested_controller.js → controllers/nested_controller.js} +0 -0
  29. /data/pg_layout/app/javascript/{pg_form_controller.js → controllers/pg_form_controller.js} +0 -0
  30. /data/pg_layout/app/javascript/{cookies.js → utils/cookies.js} +0 -0
  31. /data/pg_layout/app/javascript/{utils.ts → utils/utils.ts} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a52205bc09a4d6de1b93e6a4272110bc740bfc72a1bb9cb306d0e4f3d7684e19
4
- data.tar.gz: 49606131fec5b3933957c43d8ab29cf853a0b1a8944a27fa7527c8669a3ca46c
3
+ metadata.gz: 917b686081345cf1d79fb59f3d05a3d288f71f6a9ac223cfa40100a5e897b1c3
4
+ data.tar.gz: c21bd06ca22bbabf0701fe3450c09e034d037b7fad3d4bddf4dd6fbd748f6c8d
5
5
  SHA512:
6
- metadata.gz: b8beb180af71e265ec1d027666267628fa699904a560ed6e224deaf3009b7230f8b72520799e2b8465ed709b92f33f0eac81f4e61cd2777489e2a59f5a6e25cc
7
- data.tar.gz: 5e4b1e3869550430832bae5bd5f0c205a94a5a16a41dd898e14f47fd9b786fa4c7d097f9c94a771379757b5b85752cc3adf823e7b294a74e51321f58a779124c
6
+ metadata.gz: ac9c3923a030194773608e8c1231b20044b835aed08b4d9e45705828de5dee18bd770f5736b1525044f0e8da7144ae210552ac5c4f475dea8f4e2e40d2ea4a9c
7
+ data.tar.gz: cf395aec16915d30e753bebe8120f8ee9255c8bcd8631b621b72bb12622a94aa26b9aa8e09cabce2d6990a6829e87695d946b1a7af7ce8443dcffd689fd40c83
@@ -272,10 +272,15 @@ module PgEngine
272
272
  end
273
273
 
274
274
  def do_sort(scope, field, direction)
275
+ # TODO: restringir ciertos campos?
275
276
  unless scope.model.column_names.include? field.to_s
276
277
  PgLogger.warn("No existe el campo \"#{field}\"", :warn)
277
278
  return scope
278
279
  end
280
+ unless direction.to_sym.in? %i[asc desc]
281
+ PgLogger.warn("Direction not valid: \"#{direction}\"", :warn)
282
+ return scope
283
+ end
279
284
  scope = scope.order(field => direction)
280
285
  instance_variable_set(:@field, field)
281
286
  instance_variable_set(:@direction, direction)
@@ -8,7 +8,7 @@ module PgEngine
8
8
  current_user&.current_account
9
9
  end
10
10
 
11
- def img_placeholder(src = nil, width: '100%', height: '100%', fade_in: false, **img_opts)
11
+ def img_placeholder(src: nil, width: '100%', height: '100%', fade_in: false, **img_opts)
12
12
  if fade_in || src.nil?
13
13
  img_opts = img_opts.merge(style: [img_opts[:style], 'display:none'].compact.join(';'))
14
14
  do_placeholder(src, width:, height:, **img_opts)
@@ -20,8 +20,8 @@ module PgEngine
20
20
  private
21
21
 
22
22
  def do_placeholder(src = nil, width: '100%', height: '100%', **img_opts)
23
- content_tag('div', class: 'placeholder-glow') do
24
- content_tag('div', class: 'placeholder', style: "width: #{width}; height: #{height}") do
23
+ content_tag('div', class: 'placeholder-glow', style: "width: #{width}; height: #{height}") do
24
+ content_tag('div', class: 'placeholder w-100 h-100') do
25
25
  if src.present?
26
26
  image_tag src,
27
27
  'data-controller': 'fadein_onload',
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Add Warden middleware to AnyCable stack to allow accessing
4
+ # Devise current user via `env["warden"].user`.
5
+ #
6
+ # See https://docs.anycable.io/ruby/authentication
7
+ #
8
+ # NOTE: This is only needed in environments where you use AnyCable.
9
+ if defined?(AnyCable::Rails)
10
+ AnyCable::Rails::Rack.middleware.use Warden::Manager do |config|
11
+ Devise.warden_config = config
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+ Dotenv.load
3
+
4
+ CableReady.configure do |config|
5
+ # Enable/disable exiting / warning when the sanity checks fail options:
6
+ # `:exit` or `:warn` or `:ignore`
7
+ #
8
+ # config.on_failed_sanity_checks = :exit
9
+
10
+ # Enable/disable assets compilation
11
+ # `true` or `false`
12
+ #
13
+ # config.precompile_assets = true
14
+
15
+ # Define your own custom operations
16
+ # https://cableready.stimulusreflex.com/customization#custom-operations
17
+ #
18
+ # config.add_operation_name :jazz_hands
19
+
20
+ # Change the default Active Job queue used for broadcast_later and broadcast_later_to
21
+ #
22
+ # config.broadcast_job_queue = :default
23
+
24
+ # Specify a default debounce time for CableReady::Updatable callbacks
25
+ # Doing so is a best practice to avoid heavy ActionCable traffic
26
+ #
27
+ # config.updatable_debounce_time = 0.1.seconds
28
+ config.verifier_key = ENV.fetch('ANYCABLE_CABLE_READY_KEY')
29
+ end
@@ -0,0 +1,4 @@
1
+ module PgEngine
2
+ class Error < StandardError
3
+ end
4
+ end
@@ -2,10 +2,20 @@
2
2
 
3
3
  require 'rainbow'
4
4
 
5
+ # TODO: poder pasar blocks
6
+
7
+ def pg_err(obj)
8
+ PgEngine::PgLogger.error(obj)
9
+ end
10
+
5
11
  def pg_warn(obj, type = :error)
6
12
  PgEngine::PgLogger.warn(obj, type)
7
13
  end
8
14
 
15
+ def pg_log(obj, type = :debug)
16
+ PgEngine::PgLogger.warn("#{obj.inspect} (#{obj.class})", type)
17
+ end
18
+
9
19
  module PgEngine
10
20
  class PgLogger
11
21
  class << self
@@ -18,9 +28,22 @@ module PgEngine
18
28
  # Rollbar.warning("#{mensaje}\n\n#{caller.join("\n")}")
19
29
  # end
20
30
 
31
+ def error(obj)
32
+ # TODO: arreglar
33
+ # Si es dev o test lanzo el error y si no, lo logueo para que no le salte al usuario
34
+ # raise obj if Rails.env.local? && ENV.fetch('RAISE_ERRORS', nil).present?
35
+
36
+ mensaje = if obj.is_a?(Exception) && obj.backtrace.present?
37
+ "#{obj.inspect}\nBacktrace:\n#{cleaner.clean(obj.backtrace).join("\n")}"
38
+ else
39
+ obj
40
+ end
41
+ notify(mensaje, :error)
42
+ end
43
+
21
44
  def warn(obj, type = :error)
22
- mensaje = if obj.is_a? Exception
23
- obj.full_message.lines.first
45
+ mensaje = if obj.is_a?(Exception) && obj.backtrace.present?
46
+ "#{obj.inspect}\nBacktrace:\n#{cleaner.clean(obj.backtrace).join("\n")}"
24
47
  else
25
48
  obj
26
49
  end
@@ -37,18 +60,22 @@ module PgEngine
37
60
  end
38
61
 
39
62
  def titulo(mensaje, type)
40
- Rainbow(mensaje).bold.send(color_for(type))
63
+ Rainbow("#{type.to_s.upcase}: #{mensaje}").bold.send(color_for(type))
41
64
  end
42
65
 
43
66
  def detalles(type)
44
- Rainbow("#{type.to_s.upcase} logueado en #{bktrc[0]}").send(color_for(type))
67
+ Rainbow(" called in #{bktrc[0]}").send(color_for(type))
45
68
  end
46
69
 
47
- def bktrc
70
+ def cleaner
48
71
  bc = ActiveSupport::BacktraceCleaner.new
49
72
  bc.add_filter { |line| line.gsub(%r{.*pg_rails/}, '') }
50
73
  bc.add_silencer { |line| /pg_logger/.match?(line) }
51
- bc.clean(caller)
74
+ bc
75
+ end
76
+
77
+ def bktrc
78
+ cleaner.clean(caller)
52
79
  end
53
80
 
54
81
  def color_for(type)
@@ -57,6 +84,8 @@ module PgEngine
57
84
  :blue
58
85
  when :warn
59
86
  :yellow
87
+ when :debug
88
+ :orange
60
89
  else # :error
61
90
  :red
62
91
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative 'pg_engine/engine'
4
4
  require_relative 'pg_engine/core_ext'
5
+ require_relative 'pg_engine/error'
5
6
  require_relative 'pg_engine/configuracion'
6
7
  require_relative 'pg_engine/route_helpers'
7
8
  require_relative 'pg_engine/utils/pg_logger'
@@ -3,7 +3,7 @@ require 'rails_helper'
3
3
  describe PgEngine::PgRailsHelper do
4
4
  describe '#img_placeholder' do
5
5
  it 'si no es fade_in' do
6
- asd = img_placeholder('bla', fade_in: false, class: 'img-fluid', style: 'color:red')
6
+ asd = img_placeholder(src: 'bla', fade_in: false, class: 'img-fluid', style: 'color:red')
7
7
  expectation = <<~HTML
8
8
  <img class="img-fluid" style="color:red" src="/images/bla" />
9
9
  HTML
@@ -11,10 +11,10 @@ describe PgEngine::PgRailsHelper do
11
11
  end
12
12
 
13
13
  it 'si tiene style' do
14
- asd = img_placeholder('bla', fade_in: true, class: 'img-fluid', style: 'color:red')
14
+ asd = img_placeholder(src: 'bla', fade_in: true, class: 'img-fluid', style: 'color:red')
15
15
  expectation = <<~HTML
16
- <div class="placeholder-glow">
17
- <div class="placeholder" style="width: 100%; height: 100%">
16
+ <div class="placeholder-glow" style="width: 100%; height: 100%">
17
+ <div class="placeholder w-100 h-100">
18
18
  <img data-controller="fadein_onload" class="img-fluid" style="color:red;display:none" src="/images/bla" />
19
19
  </div>
20
20
  </div>
@@ -23,10 +23,10 @@ describe PgEngine::PgRailsHelper do
23
23
  end
24
24
 
25
25
  it 'si no tiene style' do
26
- asd = img_placeholder('bla', fade_in: true, class: 'img-fluid')
26
+ asd = img_placeholder(src: 'bla', fade_in: true, class: 'img-fluid')
27
27
  expectation = <<~HTML
28
- <div class="placeholder-glow">
29
- <div class="placeholder" style="width: 100%; height: 100%">
28
+ <div class="placeholder-glow" style="width: 100%; height: 100%">
29
+ <div class="placeholder w-100 h-100">
30
30
  <img data-controller="fadein_onload" class="img-fluid" style="display:none" src="/images/bla" />
31
31
  </div>
32
32
  </div>
@@ -1,8 +1,43 @@
1
1
  require 'rails_helper'
2
2
 
3
- TYPES = %i[error warn info].freeze
3
+ TYPES = %i[error warn info debug].freeze
4
4
 
5
5
  describe PgEngine::PgLogger do
6
+ describe '#pg_err' do
7
+ before do
8
+ TYPES.each do |type|
9
+ allow(Rails.logger).to receive(type)
10
+ allow(Rollbar).to receive(type)
11
+ end
12
+ end
13
+
14
+ shared_examples 'logger' do |type|
15
+ it do
16
+ expect(Rails.logger).to have_received(type).twice
17
+ end
18
+
19
+ it do
20
+ expect(Rollbar).to have_received(type).once
21
+ end
22
+ end
23
+
24
+ context 'con string' do
25
+ before { pg_err('bla') }
26
+
27
+ it_behaves_like 'logger', :error
28
+ end
29
+
30
+ context 'con exception' do
31
+ before do
32
+ raise StandardError, 'bla'
33
+ rescue StandardError => e
34
+ pg_err(e)
35
+ end
36
+
37
+ it_behaves_like 'logger', :error
38
+ end
39
+ end
40
+
6
41
  describe '#pg_warn' do
7
42
  before do
8
43
  TYPES.each do |type|
@@ -30,9 +65,40 @@ describe PgEngine::PgLogger do
30
65
  end
31
66
 
32
67
  context 'con exception' do
33
- before { pg_warn(StandardError.new('bla')) }
68
+ before do
69
+ raise StandardError, 'bla'
70
+ rescue StandardError => e
71
+ pg_warn(e)
72
+ end
34
73
 
35
74
  it_behaves_like 'logger', :error
36
75
  end
37
76
  end
77
+
78
+ describe '#pg_log' do
79
+ before do
80
+ TYPES.each do |type|
81
+ allow(Rails.logger).to receive(type)
82
+ allow(Rollbar).to receive(type)
83
+ end
84
+ end
85
+
86
+ shared_examples 'logger' do |type|
87
+ it do
88
+ expect(Rails.logger).to have_received(type).twice
89
+ end
90
+
91
+ it do
92
+ expect(Rollbar).to have_received(type).once
93
+ end
94
+ end
95
+
96
+ TYPES.each do |type|
97
+ context "con type #{type}" do
98
+ before { pg_log('bla', type) }
99
+
100
+ it_behaves_like 'logger', type
101
+ end
102
+ end
103
+ end
38
104
  end
@@ -11,6 +11,10 @@
11
11
  visibility: hidden;
12
12
  }
13
13
 
14
+ .init-visible {
15
+ visibility: visible;
16
+ }
17
+
14
18
  .animation-long {
15
19
  animation-duration: 1s;
16
20
  }
@@ -1,16 +1,10 @@
1
- // Controllers
2
- import NavbarController from './app/javascript/navbar_controller'
3
- import NestedController from './app/javascript/nested_controller'
4
- import PgFormController from './app/javascript/pg_form_controller'
5
- import FadeinOnloadController from './app/javascript/fadein_onload_controller'
1
+ import './config'
2
+ import './channels'
3
+ import './controllers'
4
+
6
5
  // Bootstrap's toasts
7
6
  import * as bootstrap from 'bootstrap'
8
7
 
9
- window.Stimulus.register('navbar', NavbarController)
10
- window.Stimulus.register('nested', NestedController)
11
- window.Stimulus.register('pg_form', PgFormController)
12
- window.Stimulus.register('fadein_onload', FadeinOnloadController)
13
-
14
8
  document.addEventListener('turbo:load', function () {
15
9
  const toastElList = document.querySelectorAll('.toast:not(.hide):not(.show)')
16
10
  Array.from(toastElList).map(toastEl => new bootstrap.Toast(toastEl).show())
@@ -25,11 +19,11 @@ document.addEventListener('turbo:load', function () {
25
19
  const callback = (mutationList, observer) => {
26
20
  for (const mutation of mutationList) {
27
21
  if (mutation.type === 'childList') {
28
- console.log('A child node has been added or removed.')
22
+ // console.log('A child node has been added or removed.')
29
23
  const toastElList = document.querySelectorAll('.toast:not(.hide):not(.show)')
30
24
  Array.from(toastElList).map(toastEl => new bootstrap.Toast(toastEl).show())
31
25
  } else if (mutation.type === 'attributes') {
32
- console.log(`The ${mutation.attributeName} attribute was modified.`)
26
+ // console.log(`The ${mutation.attributeName} attribute was modified.`)
33
27
  }
34
28
  }
35
29
  }
@@ -0,0 +1,8 @@
1
+ // Action Cable provides the framework to deal with WebSockets in Rails.
2
+ // You can generate new channels where WebSocket features live using the `bin/rails generate channel` command.
3
+
4
+ import { createConsumer } from '@anycable/web'
5
+
6
+ export default createConsumer({
7
+ protocol: 'actioncable-v1-ext-json'
8
+ })
@@ -0,0 +1,4 @@
1
+ // Load all the channels within this directory and all subdirectories.
2
+ // Channel files must be named *_channel.js.
3
+
4
+ // import './**/*_channel.js'
@@ -0,0 +1,24 @@
1
+ import consumer from '../channels/consumer'
2
+ import CableReady from 'cable_ready'
3
+
4
+ const anycable = consumer.cable
5
+
6
+ if (anycable) {
7
+ anycable.on('connect', ev => {
8
+ if (ev.reconnect) {
9
+ console.log('Welcome back!')
10
+ } else {
11
+ console.log('Welcome!')
12
+ }
13
+ })
14
+
15
+ anycable.on('disconnect', ev => {
16
+ if (ev.reason) {
17
+ console.log(`Disconnected because: ${ev.reason}`)
18
+ } else {
19
+ console.log('Disconnected')
20
+ }
21
+ })
22
+ }
23
+
24
+ CableReady.initialize({ consumer })
@@ -0,0 +1 @@
1
+ import './cable_ready'
@@ -0,0 +1,4 @@
1
+ // TODO: si no existe la aplicacion mostrar error
2
+ const application = window.Stimulus
3
+
4
+ export { application }
@@ -0,0 +1,11 @@
1
+ import { application } from './application'
2
+
3
+ import NavbarController from './navbar_controller'
4
+ import NestedController from './nested_controller'
5
+ import PgFormController from './pg_form_controller'
6
+ import FadeinOnloadController from './fadein_onload_controller'
7
+
8
+ application.register('navbar', NavbarController)
9
+ application.register('nested', NestedController)
10
+ application.register('pg_form', PgFormController)
11
+ application.register('fadein_onload', FadeinOnloadController)
@@ -1,5 +1,5 @@
1
1
  import { Controller } from '@hotwired/stimulus'
2
- import Cookies from './cookies'
2
+ import Cookies from './../utils/cookies'
3
3
 
4
4
  export default class extends Controller {
5
5
  expandNavbar (e) {
@@ -5,7 +5,8 @@ html
5
5
  meta name="viewport" content="width=device-width,initial-scale=1"
6
6
  = csrf_meta_tags
7
7
  = csp_meta_tag
8
-
8
+ meta name="cable-history-timestamp" content="#{Time.now.to_i}"
9
+ = action_cable_with_jwt_meta_tag
9
10
  = stylesheet_link_tag 'application', 'data-turbo-track': 'reload'
10
11
  = javascript_include_tag 'application', 'data-turbo-track': 'reload', type: 'module'
11
12
  body
@@ -3,13 +3,16 @@ html
3
3
  head
4
4
  title = Rails.application.class.module_parent_name
5
5
  meta name="viewport" content="width=device-width,initial-scale=1"
6
- / meta name="turbo-cache-control" content="no-cache"
6
+ - if @turbo_no_cache
7
+ meta name="turbo-cache-control" content="no-cache"
7
8
  / meta name="turbo-refresh-method" content="morph"
8
9
  / meta name="turbo-refresh-scroll" content="preserve"
9
10
  / meta name="turbo-prefetch" content="true"
10
11
  meta name="view-transition" content="same-origin"
12
+ meta name="cable-history-timestamp" content="#{Time.now.to_i}"
11
13
  = csrf_meta_tags
12
14
  = csp_meta_tag
15
+ = action_cable_with_jwt_meta_tag
13
16
 
14
17
  = stylesheet_link_tag 'application', 'data-turbo-track': 'reload'
15
18
  = javascript_include_tag 'application', 'data-turbo-track': 'reload', type: 'module'
@@ -9,3 +9,5 @@
9
9
  data-xturbo-temporary="true" aria-live="assertive" aria-atomic="true")
10
10
  .toast-body
11
11
  = message
12
+
13
+ / TODO: centrar texto
data/pg_rails/js/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  import './../../pg_associable'
2
- import './../../pg_layout'
2
+ import './../../pg_layout/app/javascript/application'
@@ -9,6 +9,13 @@ VCR.configure do |config|
9
9
  }
10
10
  config.hook_into :webmock
11
11
  config.configure_rspec_metadata!
12
+
13
+ # * `ignore_localhost = true` is equivalent to `ignore_hosts 'localhost',
14
+ # '127.0.0.1', '0.0.0.0'`. It is particularly useful for when you use
15
+ # VCR with a javascript-enabled capybara driver, since capybara boots
16
+ # your rack app and makes localhost requests to it to check that it has
17
+ # booted.
18
+ config.ignore_localhost = true
12
19
  end
13
20
 
14
21
  RSpec.configure do |config|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PgRails
4
- VERSION = '7.0.8-alpha.14'
4
+ VERSION = '7.0.8-alpha.15'
5
5
  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.0.8.pre.alpha.14
4
+ version: 7.0.8.pre.alpha.15
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-03-19 00:00:00.000000000 Z
11
+ date: 2024-03-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Rails goodies.
14
14
  email:
@@ -89,6 +89,8 @@ files:
89
89
  - pg_engine/app/views/pg_engine/base/index.html.slim
90
90
  - pg_engine/app/views/pg_engine/base/new.html.slim
91
91
  - pg_engine/config/initializers/active_admin.rb
92
+ - pg_engine/config/initializers/anycable.rb
93
+ - pg_engine/config/initializers/cable_ready.rb
92
94
  - pg_engine/config/initializers/devise.rb
93
95
  - pg_engine/config/initializers/rollbar.rb
94
96
  - pg_engine/config/initializers/simple_form_monkey_patch.rb
@@ -111,6 +113,7 @@ files:
111
113
  - pg_engine/lib/pg_engine/configuracion.rb
112
114
  - pg_engine/lib/pg_engine/core_ext.rb
113
115
  - pg_engine/lib/pg_engine/engine.rb
116
+ - pg_engine/lib/pg_engine/error.rb
114
117
  - pg_engine/lib/pg_engine/route_helpers.rb
115
118
  - pg_engine/lib/pg_engine/utils/pdf_preview_generator.rb
116
119
  - pg_engine/lib/pg_engine/utils/pg_logger.rb
@@ -136,12 +139,19 @@ files:
136
139
  - pg_engine/spec/pg_engine/pdf_preview_generator_spec.rb
137
140
  - pg_layout/app/assets/stylesheets/animations.scss
138
141
  - pg_layout/app/assets/stylesheets/sidebar.scss
139
- - pg_layout/app/javascript/cookies.js
140
- - pg_layout/app/javascript/fadein_onload_controller.js
141
- - pg_layout/app/javascript/navbar_controller.js
142
- - pg_layout/app/javascript/nested_controller.js
143
- - pg_layout/app/javascript/pg_form_controller.js
144
- - pg_layout/app/javascript/utils.ts
142
+ - pg_layout/app/javascript/application.js
143
+ - pg_layout/app/javascript/channels/consumer.js
144
+ - pg_layout/app/javascript/channels/index.js
145
+ - pg_layout/app/javascript/config/cable_ready.js
146
+ - pg_layout/app/javascript/config/index.js
147
+ - pg_layout/app/javascript/controllers/application.js
148
+ - pg_layout/app/javascript/controllers/fadein_onload_controller.js
149
+ - pg_layout/app/javascript/controllers/index.js
150
+ - pg_layout/app/javascript/controllers/navbar_controller.js
151
+ - pg_layout/app/javascript/controllers/nested_controller.js
152
+ - pg_layout/app/javascript/controllers/pg_form_controller.js
153
+ - pg_layout/app/javascript/utils/cookies.js
154
+ - pg_layout/app/javascript/utils/utils.ts
145
155
  - pg_layout/app/lib/navbar.rb
146
156
  - pg_layout/app/views/devise/confirmations/new.html.erb
147
157
  - pg_layout/app/views/devise/mailer/confirmation_instructions.html.erb
@@ -170,7 +180,6 @@ files:
170
180
  - pg_layout/app/views/pg_layout/_navbar.html.erb
171
181
  - pg_layout/app/views/pg_layout/_rollbar.html.erb
172
182
  - pg_layout/app/views/pg_layout/_sidebar.html.erb
173
- - pg_layout/index.js
174
183
  - pg_layout/lib/pg_layout.rb
175
184
  - pg_layout/lib/pg_layout/engine.rb
176
185
  - pg_rails/js/index.js