Class: Takagi::Application::ConfigContext
- Inherits:
-
Object
- Object
- Takagi::Application::ConfigContext
- Defined in:
- lib/takagi/application.rb
Overview
Configuration DSL context for Application
Instance Method Summary collapse
-
#allocation(mode, threads: nil) ⇒ Object
Configure worker allocation mode.
-
#auto_load(pattern) ⇒ Object
Auto-load controllers from file pattern.
-
#initialize(app_class) ⇒ ConfigContext
constructor
A new instance of ConfigContext.
-
#load_controllers(*controllers) ⇒ Object
Load specific controller classes.
Constructor Details
#initialize(app_class) ⇒ ConfigContext
Returns a new instance of ConfigContext.
208 209 210 |
# File 'lib/takagi/application.rb', line 208 def initialize(app_class) @app = app_class end |
Instance Method Details
#allocation(mode, threads: nil) ⇒ Object
Configure worker allocation mode
242 243 244 245 246 247 248 249 250 251 252 253 |
# File 'lib/takagi/application.rb', line 242 def allocation(mode, threads: nil) unless [:manual, :automatic].include?(mode) raise ArgumentError, "Invalid allocation mode: #{mode}. Use :manual or :automatic" end if mode == :automatic && threads.nil? raise ArgumentError, "Automatic allocation requires threads: parameter" end @app.config[:allocation_mode] = mode @app.config[:total_threads] = threads end |
#auto_load(pattern) ⇒ Object
Auto-load controllers from file pattern
228 229 230 |
# File 'lib/takagi/application.rb', line 228 def auto_load(pattern) @app.config[:auto_load_patterns] << pattern end |
#load_controllers(*controllers) ⇒ Object
Load specific controller classes
218 219 220 |
# File 'lib/takagi/application.rb', line 218 def load_controllers(*controllers) @app.config[:controllers].concat(controllers) end |