Class: NvimConf::ConfigurationBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/nvim_conf/configuration_builder.rb

Constant Summary collapse

CONFIGURATION_MANAGER =
NvimConf::Managers::CompilerConfigurations

Instance Method Summary collapse

Constructor Details

#initialize(managers) ⇒ ConfigurationBuilder

Returns a new instance of ConfigurationBuilder.



7
8
9
10
# File 'lib/nvim_conf/configuration_builder.rb', line 7

def initialize(managers)
  @managers = managers
  @configuration = default_configuration
end

Instance Method Details

#build_configurationObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/nvim_conf/configuration_builder.rb', line 12

def build_configuration
  @managers.select { |manager| manager.instance_of?(CONFIGURATION_MANAGER) }.each do |manager|
    manager.configurations.each do |configuration|
      @configuration[configuration.name] = configuration.value
    end
  end

  @configuration[:format] ||= @configuration[:schema] == :nvim ? :lua : :vim
  @configuration
end