Sha256: d9a9d4dc939a7e95a13246eeef2bb5566348ff2cfadb4636bb3848cd90f003a9
Contents?: true
Size: 1.02 KB
Versions: 13
Compression:
Stored size: 1.02 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 { 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
13 entries across 13 versions & 1 rubygems