Class: ActiveProject::Configurations::FizzyConfiguration

Inherits:
BaseAdapterConfiguration show all
Defined in:
lib/active_project/configurations/fizzy_configuration.rb

Overview

Holds Fizzy-specific configuration options.

Instance Attribute Summary collapse

Attributes inherited from BaseAdapterConfiguration

#options

Instance Method Summary collapse

Methods inherited from BaseAdapterConfiguration

#method_missing, #respond_to_missing?, #retry_options

Constructor Details

#initialize(options = {}) ⇒ FizzyConfiguration

Returns a new instance of FizzyConfiguration.



20
21
22
23
# File 'lib/active_project/configurations/fizzy_configuration.rb', line 20

def initialize(options = {})
  super
  @status_mappings = options.delete(:status_mappings) || {}
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ActiveProject::Configurations::BaseAdapterConfiguration

Instance Attribute Details

#status_mappingsHash

Supports expanded status vocabulary: :open, :in_progress, :blocked, :on_hold, :closed

Examples:

{
  'board_id_1' => {
    'In Progress' => :in_progress,
    'Blocked' => :blocked,
    'Done' => :closed
  }
}

Returns:

  • (Hash)

    Mappings from Board IDs to Column Name to Status Symbol.



18
19
20
# File 'lib/active_project/configurations/fizzy_configuration.rb', line 18

def status_mappings
  @status_mappings
end

Instance Method Details

#freezeObject



39
40
41
42
43
44
# File 'lib/active_project/configurations/fizzy_configuration.rb', line 39

def freeze
  # Ensure nested hashes are also frozen
  @status_mappings.each_value(&:freeze)
  @status_mappings.freeze
  super
end