Class: UdbGen::GenCfgCHeaderOptions

Inherits:
SubcommandWithCommonOptions show all
Includes:
TTY::Exit, CfgHeaderBase
Defined in:
lib/udb-gen/generators/cfg_c_header/generator.rb

Constant Summary collapse

NAME =
"cfg-c-header"

Instance Attribute Summary

Attributes inherited from Subcommand

#desc, #name

Instance Method Summary collapse

Methods included from CfgHeaderBase

#cfg_arch, #exit_with, #generate_header, #help, #params, #parse, #run_generator

Methods inherited from SubcommandWithCommonOptions

#cfg_arch, #resolve_cfg_arg, #resolver

Constructor Details

#initializeGenCfgCHeaderOptions

Returns a new instance of GenCfgCHeaderOptions.



22
23
24
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 22

def initialize
  super(name: NAME, desc: "Generate a C header with #defines from a fully configured UDB config")
end

Instance Method Details

#command_nameObject



52
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 52

def command_name = NAME

#define_directiveObject



49
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 49

def define_directive = "#define"

#file_type_nameObject



77
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 77

def file_type_name = "C header"

#format_integer(value) ⇒ Object



80
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 80

def format_integer(value) = value.to_s

#guard_begin(guard_name) ⇒ Object



55
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 55

def guard_begin(guard_name) = "#ifndef #{guard_name}"

#guard_end(guard_name) ⇒ Object



58
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 58

def guard_end(guard_name) = "#endif /* #{guard_name} */"

#guard_suffixObject



61
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 61

def guard_suffix = "_H"

#header_comment(text_lines) ⇒ Object



67
68
69
70
71
72
73
74
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 67

def header_comment(text_lines)
  lines = ["/*"]
  text_lines.each do |line|
    lines << (line.empty? ? " *" : " * #{line}")
  end
  lines << " */"
  lines
end

#run(argv) ⇒ Object



83
84
85
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 83

def run(argv)
  run_generator(argv)
end

#section_comment(text) ⇒ Object



64
# File 'lib/udb-gen/generators/cfg_c_header/generator.rb', line 64

def section_comment(text) = "/* #{text} */"