Class: SetupConfiguration::Generator::ParameterTemplateBinding

Inherits:
TemplateBinding
  • Object
show all
Defined in:
lib/setup_configuration/parameter_template_binding.rb

Instance Attribute Summary collapse

Attributes inherited from TemplateBinding

#output, #suite

Instance Method Summary collapse

Methods inherited from TemplateBinding

#categories, #find_param_by_number, #get_binding

Constructor Details

#initialize(lang, range, output) ⇒ ParameterTemplateBinding

Returns a new instance of ParameterTemplateBinding.



11
12
13
14
15
16
# File 'lib/setup_configuration/parameter_template_binding.rb', line 11

def initialize(lang, range, output)
  @lang=lang
  @parameter_range=range
  @output=output
  @translator = Translation::Translator.new()
end

Instance Attribute Details

#langObject

Returns the value of attribute lang.



8
9
10
# File 'lib/setup_configuration/parameter_template_binding.rb', line 8

def lang
  @lang
end

#parameter_rangeObject

Returns the value of attribute parameter_range.



9
10
11
# File 'lib/setup_configuration/parameter_template_binding.rb', line 9

def parameter_range
  @parameter_range
end

Instance Method Details

#cat_name(cat) ⇒ Object



23
24
25
26
27
# File 'lib/setup_configuration/parameter_template_binding.rb', line 23

def cat_name(cat)
  name, desc=@translator.translate(cat.name, @lang)
  $stderr.puts("WARNING: missing translation for key #@lang.#{cat.name}.#{Translation::Translator::NAME}") if name.eql?(cat.name.to_s)
  name
end

#description(number) ⇒ Object



37
38
39
40
41
42
43
44
45
46
# File 'lib/setup_configuration/parameter_template_binding.rb', line 37

def description(number)
  translate(number) do |name, desc|
    begin
      $stderr.puts("WARNING: missing translation for key #@lang.#{find_param_by_number(number).key.to_s}.#{Translation::Translator::COMMENT}") if desc.empty?
    rescue
      raise RuntimeError.new("ERROR: reading translation failed '#{desc.inspect()}'")
    end
    escape(desc)
  end
end

#lang_nameObject



18
19
20
# File 'lib/setup_configuration/parameter_template_binding.rb', line 18

def lang_name
  Translation.language_name(lang)
end

#name(number) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/setup_configuration/parameter_template_binding.rb', line 29

def name(number)
  p_name= translate(number) { |name, desc| name }
  if find_param_by_number(number) && p_name.eql?(find_param_by_number(number).key.to_s)
    $stderr.puts("WARNING: missing translation for key #@lang.#{find_param_by_number(number).key.to_s}.#{Translation::Translator::NAME}")
  end
  p_name.empty? ? "placeholder for mps3.exe" : p_name
end

#translate(number, &extractor) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/setup_configuration/parameter_template_binding.rb', line 48

def translate(number, &extractor)
  p=find_param_by_number(number)
  if p
    key=p.key
    translation = @translator.translate(key, @lang)
    if extractor
      extractor.call(*translation)
    else
      translation
    end
  else
    ""
  end
end