Method: ConfCtl::ModuleOptions::Option#initialize

Defined in:
lib/confctl/module_options.rb

#initialize(nixos_opt) ⇒ Option

Returns a new instance of Option.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/confctl/module_options.rb', line 8

def initialize(nixos_opt)
  @name = nixos_opt['name']
  @description = nixos_opt['description'] || 'This option has no description.'
  @type = nixos_opt['type']
  @default = extract_expression(nixos_opt['default'])
  @example = extract_expression(nixos_opt['example'])
  @declarations = nixos_opt['declarations'].map do |v|
    raise "unable to place module '#{v}'" unless %r{/confctl/([^$]+)} =~ v

    "<confctl/#{::Regexp.last_match(1)}>"
  end
end