Class: Lookbook::ConfigStore
- Inherits:
-
Object
- Object
- Lookbook::ConfigStore
- Defined in:
- lib/lookbook/stores/config_store.rb
Constant Summary collapse
- CONFIG_FILE =
"config/app.yml"
Instance Attribute Summary collapse
-
#store ⇒ Object
readonly
Returns the value of attribute store.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(config = nil) ⇒ ConfigStore
constructor
A new instance of ConfigStore.
- #listen_extensions=(extensions = nil) ⇒ Object
- #markdown_options=(options = nil) ⇒ Object
- #page_extensions=(extensions = nil) ⇒ Object
- #page_paths=(paths = nil) ⇒ Object
- #preview_display_params ⇒ Object
- #preview_display_params=(options) ⇒ Object
- #preview_paths=(paths = nil) ⇒ Object
- #preview_srcdoc=(enable) ⇒ Object
- #project_name=(name) ⇒ Object
- #runtime_parsing=(value) ⇒ Object
- #ui_theme=(name) ⇒ Object
- #ui_theme_overrides(&block) ⇒ Object
Constructor Details
#initialize(config = nil) ⇒ ConfigStore
Returns a new instance of ConfigStore.
8 9 10 |
# File 'lib/lookbook/stores/config_store.rb', line 8 def initialize(config = nil) @store = Store.new(config, recursive: true) end |
Instance Attribute Details
#store ⇒ Object (readonly)
Returns the value of attribute store.
6 7 8 |
# File 'lib/lookbook/stores/config_store.rb', line 6 def store @store end |
Class Method Details
.default_config(env: Rails.env) ⇒ Object
75 76 77 |
# File 'lib/lookbook/stores/config_store.rb', line 75 def self.default_config(env: Rails.env) ConfigLoader.call(CONFIG_FILE, env: env) end |
.init_from_config(env: Rails.env) ⇒ Object
71 72 73 |
# File 'lib/lookbook/stores/config_store.rb', line 71 def self.init_from_config(env: Rails.env) new(default_config(env: env)) end |
Instance Method Details
#listen_extensions=(extensions = nil) ⇒ Object
38 39 40 |
# File 'lib/lookbook/stores/config_store.rb', line 38 def listen_extensions=(extensions = nil) store[:listen_extensions].push(*extensions.to_a).uniq! end |
#markdown_options=(options = nil) ⇒ Object
42 43 44 |
# File 'lib/lookbook/stores/config_store.rb', line 42 def ( = nil) store[:markdown_options].merge!(.to_h) end |
#page_extensions=(extensions = nil) ⇒ Object
20 21 22 |
# File 'lib/lookbook/stores/config_store.rb', line 20 def page_extensions=(extensions = nil) store[:page_extensions].push(*extensions.to_a).uniq! end |
#page_paths=(paths = nil) ⇒ Object
16 17 18 |
# File 'lib/lookbook/stores/config_store.rb', line 16 def page_paths=(paths = nil) store[:page_paths].push(*paths.to_a) end |
#preview_display_params ⇒ Object
28 29 30 31 |
# File 'lib/lookbook/stores/config_store.rb', line 28 def preview_display_params Lookbook.logger.warn "The `preview_display_params` config option has been renamed to `preview_display_options` and will be removed in v2.0" store[:preview_display_options] end |
#preview_display_params=(options) ⇒ Object
33 34 35 36 |
# File 'lib/lookbook/stores/config_store.rb', line 33 def preview_display_params=() Lookbook.logger.warn "The `preview_display_params` config option has been renamed to `preview_display_options` and will be removed in v2.0" store[:preview_display_options] = .to_h end |
#preview_paths=(paths = nil) ⇒ Object
24 25 26 |
# File 'lib/lookbook/stores/config_store.rb', line 24 def preview_paths=(paths = nil) store[:preview_paths].push(*paths.to_a) end |
#preview_srcdoc=(enable) ⇒ Object
67 68 69 |
# File 'lib/lookbook/stores/config_store.rb', line 67 def preview_srcdoc=(enable) Lookbook.logger.warn "The `preview_srcdoc` config option is deprecated and will be removed in v2.0" end |
#project_name=(name) ⇒ Object
12 13 14 |
# File 'lib/lookbook/stores/config_store.rb', line 12 def project_name=(name) store[:project_name] = name == false ? nil : name end |
#runtime_parsing=(value) ⇒ Object
63 64 65 |
# File 'lib/lookbook/stores/config_store.rb', line 63 def runtime_parsing=(value) Lookbook.logger.warn "The `runtime_parsing` config option has been deprecated and will be removed in v2.0" end |
#ui_theme=(name) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/lookbook/stores/config_store.rb', line 46 def ui_theme=(name) name = name.to_s if Theme.valid_theme?(name) store[:ui_theme] = name else raise ConfigError.new("'#{name}' is not a valid Lookbook theme. ", scope: "app.config") end end |
#ui_theme_overrides(&block) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/lookbook/stores/config_store.rb', line 55 def ui_theme_overrides(&block) if block yield store[:ui_theme_overrides] else store[:ui_theme_overrides] end end |