lib/xcmultilingual/templates/swift.erb in xcmultilingual-0.1.7 vs lib/xcmultilingual/templates/swift.erb in xcmultilingual-0.2.0

- old
+ new

@@ -9,27 +9,28 @@ import Foundation struct <%= @name %> { <% @bundle_data.each do |bundle| -%> <% nsbundle = bundle.name ? "Multilingual.bundle(\"#{bundle.relative_path}\")" : "NSBundle.mainBundle()" -%> -<% bundle_name = bundle.name.nil? ? "" : bundle.name.gsub(" ", "_").capitalize -%> +<% bundle_name = bundle.name.nil? ? "" : bundle.name.safe.capitalize -%> <% bundle.tables.each do |table| -%> -<% class_name = bundle_name + table.name.gsub(" ", "_") -%> +<% class_name = bundle_name + table.name.safe -%> enum <%= class_name %>: String { <% table.keys.each do |key| -%> - case <%= key.gsub(" ", "_") %> = "<%= key %>" + case <%= key.safe %> = "<%= key %>" <% end # keys -%> func string() -> String { return NSLocalizedString(rawValue, tableName: "<%= table.name %>", bundle: <%= nsbundle %>, value: "\(rawValue)", comment: "") } - static func keys() -> [String] { + static let name = "<%= table.name %>" + + static var keys: [String] { return ["<%= table.keys.join("\", \"") %>"] } - - static func localizations() -> [String] { - return <%= class_name %>.keys().map { <%= class_name %>(rawValue: $0)!.string() } + static var localizations: [String] { + return <%= class_name %>.keys.map { <%= class_name %>(rawValue: $0)!.string() } } } <%- end # table -%> <%- end # bundle -%>