Class: RailsSiteEngine::SiteEngineConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_site_engine/site_engine_config.rb

Constant Summary collapse

DEFAULT_PROFILE =
"home-services-general".freeze
DEFAULT_SITE_CONFIG_PATH =
"content/site.yml".freeze
DEFAULT_PAGES_PATH =
"content/pages".freeze
DEFAULT_THEME_PATH =
"config/theme.yml".freeze

Instance Method Summary collapse

Constructor Details

#initialize(path: Rails.root.join("config/site_engine.yml"), site_profiles: nil) ⇒ SiteEngineConfig

Returns a new instance of SiteEngineConfig.



11
12
13
14
15
# File 'lib/rails_site_engine/site_engine_config.rb', line 11

def initialize(path: Rails.root.join("config/site_engine.yml"), site_profiles: nil)
  @path = Pathname.new(path)
  @site_profiles =
    site_profiles || RailsSiteEngine::SiteProfiles.new(path: RailsSiteEngine::Engine.root.join("config/site_profiles.yml"))
end

Instance Method Details

#business_name ⇒ Object



24
25
26
27
28
29
# File 'lib/rails_site_engine/site_engine_config.rb', line 24

def business_name
  configured = raw_config["business_name"].to_s.strip
  return configured unless configured.empty?

  inferred_business_name
end

#override_pages_path ⇒ Object



35
36
37
# File 'lib/rails_site_engine/site_engine_config.rb', line 35

def override_pages_path
  configured_path("pages_path", DEFAULT_PAGES_PATH)
end

#override_site_config_path ⇒ Object



31
32
33
# File 'lib/rails_site_engine/site_engine_config.rb', line 31

def override_site_config_path
  configured_path("site_config_path", DEFAULT_SITE_CONFIG_PATH)
end

#override_theme_path ⇒ Object



39
40
41
# File 'lib/rails_site_engine/site_engine_config.rb', line 39

def override_theme_path
  configured_path("theme_path", DEFAULT_THEME_PATH)
end

#profile ⇒ Object



17
18
19
20
21
22
# File 'lib/rails_site_engine/site_engine_config.rb', line 17

def profile
  requested = raw_config["profile"].to_s.strip
  return requested if @site_profiles.valid_concrete_profile?(requested)

  @site_profiles.fallback_concrete_profile || DEFAULT_PROFILE
end