class Rescodegen::ObjcHeaderStringsGenerator
Public Class Methods
new(prefix)
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 6 def initialize(prefix) @prefix = prefix end
Public Instance Methods
generate(singular_keys, singular_values, plural_keys, plural_values)
click to toggle source
Calls superclass method
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 10 def generate(singular_keys, singular_values, plural_keys, plural_values) super(singular_keys, singular_values, plural_keys, plural_values) import_module("Foundation") .singular_enum(singular_keys, singular_values) .plural_enum(plural_keys, plural_values) add_c_method("NSString*", prefix("LocalizedSingularString"), "#{singular_enum_name} singularString") if singular_keys.size != 0 add_c_method("NSString*", prefix("LocalizedPluralString"), "#{plural_enum_name} pluralString, ...") if plural_keys.size != 0 newline @output end
Protected Instance Methods
add_c_method(return_type, name, parameter_list)
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 50 def add_c_method(return_type, name, parameter_list) newline @output += "#{return_type} #{name}(#{parameter_list});" self end
add_cases(enum_name, keys)
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 56 def add_cases(enum_name, keys) keys.each do |key| indent @output += "#{enum_name}_#{key}," newline end self end
finish_enum()
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 65 def finish_enum decrement_indent_level indent @output += "};" newline end
import_module(name)
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 39 def import_module(name) @output += "@import #{name};" newline end
plural_enum(keys, values)
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 31 def plural_enum(keys, values) return self if keys.size == 0 newline .start_enum(plural_enum_name, "NSInteger") .add_cases(plural_enum_name, keys) .finish_enum end
plural_enum_name()
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 76 def plural_enum_name prefix "PluralString" end
singular_enum(keys, values)
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 23 def singular_enum(keys, values) return self if keys.size == 0 newline .start_enum(singular_enum_name, "NSInteger") .add_cases(singular_enum_name, keys) .finish_enum end
singular_enum_name()
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 72 def singular_enum_name prefix "SingularString" end
start_enum(name, type)
click to toggle source
# File lib/rescodegen/code_generator/objc_header_strings_generator.rb, line 44 def start_enum(name, type) indent @output += "typedef NS_ENUM(#{type}, #{name})" open_brackets end