Sha256: f140506914051ae8905694e7887d7bd2487dfa272141d1c8113577853e7e1f37
Contents?: true
Size: 1.03 KB
Versions: 7
Compression:
Stored size: 1.03 KB
Contents
require_relative 'languages_serializer' module PolyglotIos module Serializer module Language class Swift < Base def save(sources_path) FileUtils.mkdir_p sources_path unless File.exist? sources_path output_path = File.join(sources_path, "Language.swift") File.write(output_path, render) end def template() <<-TEMPLATE import Foundation public struct Language: Sendable { public let name: String public let localName: String public let locale: String public let languageCode: String <% @languages.each do |language| -%> public static let <%= language.clean_name %> = Language(name: "<%= language.name %>", localName: "<%= language.local_name %>", locale: "<%= language.locale %>", languageCode: "<%= language.code %>") <% end -%> public static let all = [ <% @languages.each_with_index do |language, i| -%> Language.<%= language.clean_name %><%= i == (@languages.size - 1) ? "" : "," %> <% end -%> ] } TEMPLATE end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems