Class: ActiveProject::Configurations::BaseAdapterConfiguration
- Inherits:
-
Object
- Object
- ActiveProject::Configurations::BaseAdapterConfiguration
- Defined in:
- lib/active_project/configurations/base_adapter_configuration.rb
Overview
Base class for adapter configurations, holding common options.
Direct Known Subclasses
BasecampConfiguration, FizzyConfiguration, GithubConfiguration, JiraConfiguration, TrelloConfiguration
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #freeze ⇒ Object
-
#initialize(options = {}) ⇒ BaseAdapterConfiguration
constructor
A new instance of BaseAdapterConfiguration.
-
#method_missing(method_name, *arguments, &block) ⇒ Object
Allow accessing options via method calls.
- #respond_to_missing?(method_name, include_private = false) ⇒ Boolean
-
#retry_options ⇒ Hash
Returns retry options for HTTP connections Can be overridden by configuration options or adapter-specific settings.
Constructor Details
#initialize(options = {}) ⇒ BaseAdapterConfiguration
Returns a new instance of BaseAdapterConfiguration.
9 10 11 12 |
# File 'lib/active_project/configurations/base_adapter_configuration.rb', line 9 def initialize( = {}) @options = .dup # Duplicate to allow modification before freezing validate_configuration! end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *arguments, &block) ⇒ Object
Allow accessing options via method calls
15 16 17 18 19 20 21 |
# File 'lib/active_project/configurations/base_adapter_configuration.rb', line 15 def method_missing(method_name, *arguments, &block) if .key?(method_name) && arguments.empty? && !block [method_name] else super end end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
7 8 9 |
# File 'lib/active_project/configurations/base_adapter_configuration.rb', line 7 def @options end |
Instance Method Details
#freeze ⇒ Object
29 30 31 32 |
# File 'lib/active_project/configurations/base_adapter_configuration.rb', line 29 def freeze @options.freeze super end |
#respond_to_missing?(method_name, include_private = false) ⇒ Boolean
23 24 25 |
# File 'lib/active_project/configurations/base_adapter_configuration.rb', line 23 def respond_to_missing?(method_name, include_private = false) .key?(method_name) || super end |
#retry_options ⇒ Hash
Returns retry options for HTTP connections Can be overridden by configuration options or adapter-specific settings
37 38 39 |
# File 'lib/active_project/configurations/base_adapter_configuration.rb', line 37 def [:retry_options] || {} end |