Module: SwalRails::InitializerVersionCheck
- Defined in:
- lib/swal_rails/initializer_version_check.rb
Overview
Compares the user’s ‘config.initializer_version` against the gem’s ‘SwalRails::INITIALIZER_VERSION` and logs a one-line warning when the initializer is missing the stamp or trails the gem’s expected value.
Wired into the engine after ‘:load_config_initializers` so it sees whatever the user set. Silenced via `config.silence_initializer_warning = true`.
Class Method Summary collapse
- .default_logger ⇒ Object
- .run!(logger: default_logger, config: SwalRails.configuration) ⇒ Object
- .stale_message(config) ⇒ Object
Class Method Details
.default_logger ⇒ Object
40 41 42 |
# File 'lib/swal_rails/initializer_version_check.rb', line 40 def default_logger defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger ? Rails.logger : Logger.new($stderr) end |
.run!(logger: default_logger, config: SwalRails.configuration) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/swal_rails/initializer_version_check.rb', line 14 def run!(logger: default_logger, config: SwalRails.configuration) return if config.silence_initializer_warning = (config) return unless logger.warn() end |
.stale_message(config) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/swal_rails/initializer_version_check.rb', line 23 def (config) user = config.initializer_version current = SwalRails::INITIALIZER_VERSION return nil if user == current regen = "Run `bin/rails g swal_rails:install --skip-layout --force` to regenerate, or set " \ "`config.silence_initializer_warning = true` to silence." if user.nil? "[swal_rails] config/initializers/swal_rails.rb predates v#{current} " \ "(no `config.initializer_version` set). New options may be missing. #{regen}" else "[swal_rails] initializer template advanced to v#{current} (yours: v#{user}). #{regen}" end end |