Class: Plutonium::Configuration
- Inherits:
-
Object
- Object
- Plutonium::Configuration
- Defined in:
- lib/plutonium/configuration.rb
Overview
Configuration class for Plutonium module
Defined Under Namespace
Classes: AssetConfiguration
Constant Summary collapse
- VERSION_DEFAULTS =
Map of version numbers to their default configurations
{ 1.0 => proc do |config| # No changes for 1.0 yet as it's the current base configuration end # Add more version configurations here as needed # 1.1 => proc do |config| # config.some_new_setting = true # end }.freeze
Instance Attribute Summary collapse
-
#assets ⇒ AssetConfiguration
readonly
Asset configuration.
-
#cache_discovery ⇒ Boolean
Whether to cache discovery.
-
#defaults_version ⇒ Float
readonly
The current defaults version.
-
#development ⇒ Boolean
Whether Plutonium is in development mode.
-
#enable_hotreload ⇒ Boolean
Whether to enable hot reloading.
Instance Method Summary collapse
-
#development? ⇒ Boolean
whether Plutonium is in development mode.
-
#initialize ⇒ Configuration
constructor
Initialize a new Configuration instance.
-
#load_defaults(version) ⇒ void
Load default configuration for a specific version.
Constructor Details
#initialize ⇒ Configuration
This method sets initial values
Initialize a new Configuration instance
44 45 46 47 48 49 50 51 |
# File 'lib/plutonium/configuration.rb', line 44 def initialize @defaults_version = nil @assets = AssetConfiguration.new @development = parse_boolean_env("PLUTONIUM_DEV") @cache_discovery = !Rails.env.development? @enable_hotreload = Rails.env.development? end |
Instance Attribute Details
#assets ⇒ AssetConfiguration (readonly)
Returns asset configuration.
25 26 27 |
# File 'lib/plutonium/configuration.rb', line 25 def assets @assets end |
#cache_discovery ⇒ Boolean
Returns whether to cache discovery.
19 20 21 |
# File 'lib/plutonium/configuration.rb', line 19 def cache_discovery @cache_discovery end |
#defaults_version ⇒ Float (readonly)
Returns the current defaults version.
28 29 30 |
# File 'lib/plutonium/configuration.rb', line 28 def defaults_version @defaults_version end |
#development ⇒ Boolean
Returns whether Plutonium is in development mode.
16 17 18 |
# File 'lib/plutonium/configuration.rb', line 16 def development @development end |
#enable_hotreload ⇒ Boolean
Returns whether to enable hot reloading.
22 23 24 |
# File 'lib/plutonium/configuration.rb', line 22 def enable_hotreload @enable_hotreload end |
Instance Method Details
#development? ⇒ Boolean
whether Plutonium is in development mode
75 76 77 |
# File 'lib/plutonium/configuration.rb', line 75 def development? @development end |
#load_defaults(version) ⇒ void
This method returns an undefined value.
Load default configuration for a specific version
57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/plutonium/configuration.rb', line 57 def load_defaults(version) available_versions = VERSION_DEFAULTS.keys.sort applicable_versions = available_versions.select { |v| v <= version } if applicable_versions.empty? raise "No applicable defaults found for version #{version}." end applicable_versions.each do |v| VERSION_DEFAULTS[v].call(self) end @defaults_version = applicable_versions.last end |