Class: RailsBase::Configuration::Appearance
- Defined in:
- lib/rails_base/configuration/appearance.rb
Constant Summary collapse
- BUTTONS =
[ :btn_primary, :btn_secondary, :btn_success, :btn_danger, :btn_warning, :btn_info, :btn_light, :btn_dark, :bg_light, ]
- DOWNSTREAM_CLASSES =
[ :t_header, :t_body, :bg_color, :navbar, :text, :card, :footer, :back_to_top, ] + BUTTONS
- SKIP_DOWNSTREAM_CLASSES =
[:footer, :back_to_top]
- DARK_MODE =
:dark
- LIGHT_MODE =
:light
- MATCH_OS =
:match_os
- ALLOWABLE_TYPES =
{ DARK_MODE => 'Dark Mode', LIGHT_MODE => 'Light Mode', }
- APPEARANCE_TYPES =
ALLOWABLE_TYPES.merge(MATCH_OS => 'Match System')
- DEFAULT_VALUES =
{ enabled: { type: :boolean, default: true, description: 'When disabled, the user will be forced into default_mode when appropriate' }, default_mode: { type: :values, expect_values: APPEARANCE_TYPES.keys, default: LIGHT_MODE, description: 'Default mode to set when mode not found in cookies/session', }, math_os_dark: { type: :values, expect_values: ALLOWABLE_TYPES.keys, default: DARK_MODE, description: 'Mode to set when OS returns dark mode (useful when more than light/dark mode', }, }
Constants inherited from Base
Instance Method Summary collapse
- #assign_default_values! ⇒ Object
-
#initialize ⇒ Appearance
constructor
A new instance of Appearance.
- #validate! ⇒ Object
Methods inherited from Base
_allow_write_block?, _unset_allow_write!, #dig, #override_methods!
Constructor Details
#initialize ⇒ Appearance
Returns a new instance of Appearance.
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/rails_base/configuration/appearance.rb', line 84 def initialize ##### # all display classes are required to have ALLOWABLE_TYPES as default values ##### @t_header = Configuration::Display::TableHeader.new @t_body = Configuration::Display::TableBody.new @bg_color = Configuration::Display::BackgroundColor.new @navbar = Configuration::Display::Navbar.new @text = Configuration::Display::Text.new @card = Configuration::Display::Card.new @footer = Configuration::Display::Footer.new @back_to_top = Configuration::Display::BackTotop.new @bg_light = Configuration::Display::BgLight.new @btn_primary = Configuration::Display::BtnPrimary.new @btn_secondary = Configuration::Display::BtnSecondary.new @btn_success = Configuration::Display::BtnSuccess.new @btn_danger = Configuration::Display::BtnDanger.new @btn_warning = Configuration::Display::BtnWarning.new @btn_info = Configuration::Display::BtnInfo.new @btn_light = Configuration::Display::BtnLight.new @btn_dark = Configuration::Display::BtnDark.new _validate_values super() end |
Instance Method Details
#assign_default_values! ⇒ Object
118 119 120 121 122 123 |
# File 'lib/rails_base/configuration/appearance.rb', line 118 def assign_default_values! super() DOWNSTREAM_CLASSES.each do |variable| instance_variable_get("@#{variable}").assign_default_values! end end |
#validate! ⇒ Object
111 112 113 114 115 116 |
# File 'lib/rails_base/configuration/appearance.rb', line 111 def validate! super() DOWNSTREAM_CLASSES.each do |variable| instance_variable_get("@#{variable}").validate! end end |