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

Version Path
ios_polyglot_cli-2.6.2 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.6.1 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.6.0 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.5.1 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.5.0 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.4.0 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.3.0 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.2.2 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.2.1 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.2.0 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.1.1 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.1.0 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb
ios_polyglot_cli-2.0.1 lib/ios_polyglot_cli/serializers/languages/languages_serializer_swift.rb