Class: Rescodegen::ObjcMainStringsGenerator
- Inherits:
-
StringsGenerator
- Object
- StringsGenerator
- Rescodegen::ObjcMainStringsGenerator
- Defined in:
- lib/rescodegen/code_generator/objc_main_strings_generator.rb
Instance Method Summary collapse
- #add_cases(keys, values) ⇒ Object
- #add_default_case ⇒ Object
- #finish_case ⇒ Object
- #generate(keys, values) ⇒ Object
- #import_header(name) ⇒ Object
- #localized_string(value) ⇒ Object
- #return_value(value) ⇒ Object
- #start_c_method(return_type, name, parameter_type, parameter_name) ⇒ Object
- #start_case(key, value) ⇒ Object
- #start_default_case ⇒ Object
- #start_switch(value) ⇒ Object
Instance Method Details
#add_cases(keys, values) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 39 def add_cases(keys, values) i = 0 until i == keys.size start_case(keys[i], values[i]) .return_value(localized_string(values[i])) .finish_case i += 1 end add_default_case self end |
#add_default_case ⇒ Object
51 52 53 54 55 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 51 def add_default_case start_default_case .return_value("@\"\"") .finish_case end |
#finish_case ⇒ Object
72 73 74 75 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 72 def finish_case decrement_indent_level self end |
#generate(keys, values) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 6 def generate(keys, values) super(keys, values) newline .import_header("Strings.h") .newline .start_c_method("NSString*", "LocalizedSingularString", "SingularString", "singularString") .start_switch("singularString") .add_cases(keys.map { |k| "SingularString" + k }, values) .close_brackets .close_brackets .newline @output end |
#import_header(name) ⇒ Object
20 21 22 23 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 20 def import_header(name) @output += "#import \"#{name}\"" self end |
#localized_string(value) ⇒ Object
84 85 86 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 84 def localized_string(value) return "NSLocalizedString(@\"#{value}\", @\"\")" end |
#return_value(value) ⇒ Object
77 78 79 80 81 82 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 77 def return_value(value) indent @output += "return #{value};" newline self end |
#start_c_method(return_type, name, parameter_type, parameter_name) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 25 def start_c_method(return_type, name, parameter_type, parameter_name) newline @output += "#{return_type} #{name}(#{parameter_type} #{parameter_name})" open_brackets self end |
#start_case(key, value) ⇒ Object
57 58 59 60 61 62 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 57 def start_case(key, value) indent @output += "case #{key}:" newline increment_indent_level end |
#start_default_case ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 64 def start_default_case indent @output += "default:" newline increment_indent_level self end |
#start_switch(value) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/rescodegen/code_generator/objc_main_strings_generator.rb', line 32 def start_switch(value) indent @output += "switch (#{value})" open_brackets self end |