Class: Olivander::ApplicationContext
- Inherits:
-
Object
- Object
- Olivander::ApplicationContext
- Defined in:
- lib/olivander/application_context.rb
Defined Under Namespace
Classes: Company, LoginLogo, Logo
Constant Summary collapse
- DEFAULT_APPLICATION_NAME =
'Application Name'.freeze
- DEFAULT_SIGN_OUT_PATH =
'/users/sign_out'.freeze
- DEFAULT_HEADER_CLASSES =
''.freeze
- DEFAULT_LOGO_URL =
'/images/olivander_logo.png'.freeze
- DEFAULT_LOGO_ALT =
'Logo Image'.freeze
- DEFAULT_LOGIN_LOGO_URL =
'/images/olivander_login_logo.png'.freeze
- DEFAULT_LOGIN_LOGO_ALT =
'Login Logo Image'.freeze
- DEFAULT_COMPANY_URL =
'/'.freeze
- DEFAULT_COMPANY_ALT =
'Company Name'.freeze
- DEFAULT_LAYOUT_CLASS =
'hold-transition sidebar-mini layout-fixed'.freeze
- DEFAULT_NAV_CLASS =
'navbar-expand navbar-white navbar-light'.freeze
Instance Attribute Summary collapse
-
#company ⇒ Object
Returns the value of attribute company.
-
#layout_class ⇒ Object
Returns the value of attribute layout_class.
-
#layout_container ⇒ Object
Returns the value of attribute layout_container.
-
#login_logo ⇒ Object
Returns the value of attribute login_logo.
-
#logo ⇒ Object
Returns the value of attribute logo.
-
#menu_items ⇒ Object
Returns the value of attribute menu_items.
-
#name ⇒ Object
Returns the value of attribute name.
-
#nav_class ⇒ Object
Returns the value of attribute nav_class.
-
#nav_container ⇒ Object
Returns the value of attribute nav_container.
-
#route_builder ⇒ Object
Returns the value of attribute route_builder.
-
#sidebar ⇒ Object
Returns the value of attribute sidebar.
-
#sidebar_background_class ⇒ Object
Returns the value of attribute sidebar_background_class.
-
#sign_out_path ⇒ Object
Returns the value of attribute sign_out_path.
Instance Method Summary collapse
-
#initialize(**kwargs) ⇒ ApplicationContext
constructor
A new instance of ApplicationContext.
- #layout_container? ⇒ Boolean
- #nav_container? ⇒ Boolean
- #sidebar? ⇒ Boolean
- #visible_modules ⇒ Object
- #visible_modules_for(menu_item) ⇒ Object
Constructor Details
#initialize(**kwargs) ⇒ ApplicationContext
Returns a new instance of ApplicationContext.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/olivander/application_context.rb', line 20 def initialize(**kwargs) self.name = kwargs[:name] || ENV['OLIVANDER_APP_NAME'] || DEFAULT_APPLICATION_NAME self.logo = kwargs[:logo] || Logo.new(url: kwargs[:logo_url], alt: kwargs[:logo_alt]) self.login_logo = kwargs[:login_logo] || LoginLogo.new(url: kwargs[:login_logo_url], alt: kwargs[:login_logo_alt]) self.company = kwargs[:company] || Company.new(name: kwargs[:company_name], url: kwargs[:company_url]) self.sign_out_path = kwargs[:sign_out_path] || DEFAULT_SIGN_OUT_PATH self. = kwargs[:menu_items] || [] self.nav_container = kwargs[:nav_container] || 'false'.freeze == 'true'.freeze self.nav_class = kwargs[:nav_class] || DEFAULT_NAV_CLASS self.layout_container = kwargs[:layout_container] || 'false'.freeze == 'true'.freeze self.layout_class = kwargs[:layout_class] || DEFAULT_LAYOUT_CLASS self. = kwargs[:sidebar] || 'true' == 'true'.freeze begin self.route_builder = RouteBuilder.new rescue NameError self.route_builder = OpenStruct.new(resources: {}) end end |
Instance Attribute Details
#company ⇒ Object
Returns the value of attribute company.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def company @company end |
#layout_class ⇒ Object
Returns the value of attribute layout_class.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def layout_class @layout_class end |
#layout_container ⇒ Object
Returns the value of attribute layout_container.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def layout_container @layout_container end |
#login_logo ⇒ Object
Returns the value of attribute login_logo.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def login_logo @login_logo end |
#logo ⇒ Object
Returns the value of attribute logo.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def logo @logo end |
#menu_items ⇒ Object
Returns the value of attribute menu_items.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def @menu_items end |
#name ⇒ Object
Returns the value of attribute name.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def name @name end |
#nav_class ⇒ Object
Returns the value of attribute nav_class.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def nav_class @nav_class end |
#nav_container ⇒ Object
Returns the value of attribute nav_container.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def nav_container @nav_container end |
#route_builder ⇒ Object
Returns the value of attribute route_builder.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def route_builder @route_builder end |
#sidebar ⇒ Object
Returns the value of attribute sidebar.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def @sidebar end |
#sidebar_background_class ⇒ Object
Returns the value of attribute sidebar_background_class.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def @sidebar_background_class end |
#sign_out_path ⇒ Object
Returns the value of attribute sign_out_path.
3 4 5 |
# File 'lib/olivander/application_context.rb', line 3 def sign_out_path @sign_out_path end |
Instance Method Details
#layout_container? ⇒ Boolean
43 44 45 |
# File 'lib/olivander/application_context.rb', line 43 def layout_container? layout_container == true end |
#nav_container? ⇒ Boolean
39 40 41 |
# File 'lib/olivander/application_context.rb', line 39 def nav_container? nav_container == true end |
#sidebar? ⇒ Boolean
47 48 49 |
# File 'lib/olivander/application_context.rb', line 47 def == true end |
#visible_modules ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/olivander/application_context.rb', line 51 def visible_modules [].tap do |arr| .each do || arr << visible_modules_for() end end.flatten end |
#visible_modules_for(menu_item) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/olivander/application_context.rb', line 59 def visible_modules_for() [].tap do |arr| arr << if .module? && .visible ..each do |sub| arr << visible_modules_for(sub) end end end |