Class: RailsBase::Configuration::Display::Footer

Inherits:
Base
  • Object
show all
Defined in:
lib/rails_base/configuration/display/footer.rb

Constant Summary collapse

DEFAULT_PAGES =
{
  'RailsBase::Users::SessionsController' => [:new, :create],
  'RailsBase::Users::PasswordsController' => [:new],
  'RailsBase::Users::RegistrationsController' => [:new],
  'RailsBase::UserSettingsController' => [:index],
  'RailsBase::MfaAuthController' => [:mfa_code],
  'RailsBase::SecondaryAuthenticationController' => [:static, :after_email_login_session_new, :forgot_password],
}
"© #{DateTime.now.year} Year of the Rona: Bad Ass Rails Starter built by <a href='https://github.com/matt-taylor/' target='_blank'>@matt-taylor</a>"
DEFAULT_VALUES =
{
  enable: {
    type: :boolean,
    default: true,
    description: 'Enable footer for the site',
  },
  sticky: {
    type: :boolean,
    default: true,
    dependents: [ -> (i) { i.enable? } ],
    description: 'Stick footer to the bottom of screen',
  },
  sticky_pages: {
    type: :hash,
    default: DEFAULT_PAGES,
    popover: true,
    decipher: ->(thing) { thing.map { |k, v| v.map { |a| "#{k}.#{a}"  } }.flatten },
    description: 'Pages that use sticky pages. All others wil append footer to end of body. NOTE: Action can be forced by calling `force_sticky_mode!` anytime.',
  },
  html: {
    type: :string,
    default: DEFAULT_FOOTER_HTML,
    description: 'HTML text to be placed at footer'
  },
  content_bottom_or_sticky: {
    type: :boolean,
    default: true,
    dependents: [ -> (i) { i.enable? } ],
    description: 'When enabled, footer will stick to bottom or stick to bottom of content -- whichever is greater. Takes precendence over `sticky`',
  },
}

Constants inherited from Base

Base::ALLOWED_TYPES

Method Summary

Methods inherited from Base

_allow_write_block?, _unset_allow_write!, #assign_default_values!, #dig, #initialize, #override_methods!, #validate!

Constructor Details

This class inherits a constructor from RailsBase::Configuration::Base