Sha256: d41a520568356385a676b01d22bbab2c1390573cf37acfba8a6498c5fe24d26e

Contents?: true

Size: 1.46 KB

Versions: 3

Compression:

Stored size: 1.46 KB

Contents

module Twine
  module Formatters
    class QKRStringSwiftKernel < Abstract
      def format_name
        'qkr_string_swift_kernel'
      end

      def extension
        '.swift'
      end

      def can_handle_directory?(path)
        true
      end

      def default_file_name
        'QKRString+QualiacKernel.swift'
      end

      def determine_language_given_path(path)
        return @twine_file.language_codes[0]
      end

      def output_path_for_language(lang)
        ""
      end

      def read(io, lang)
      end

      def format_header(lang)
        "/**\n * Apple Strings File\n * Generated by Twine #{Twine::VERSION}\n */"
      end

      def format_sections(twine_file, lang)
        result = "\nimport Foundation\n\n"
        result += "// swiftlint:disable identifier_name line_length superfluous_disable_command\n"
        result += "public extension QKRString {\n"
        
        result += super + "\n"

        result += "}\n"
        result += "// swiftlint:enable identifier_name line_length superfluous_disable_command\n"
      end

      def format_section_header(section)
        "\t/********** #{section.name} **********/\n"
      end

      def key_value_pattern
        "\tvar %{key}: String { return load(\"%{key}\", in: QualiacKernelInitializer.localizableBundle, table: \"Localizable\") }\n"
      end

      def format_key(key)
        escape_quotes(key)
      end

      def format_value(value)
        escape_quotes(value)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
qualiac_twine-0.0.11 lib/qualiac_twine/formatter/qkr_string_swift_kernel.rb
qualiac_twine-0.0.10 lib/qualiac_twine/formatter/qkr_string_swift_kernel.rb
qualiac_twine-0.0.9 lib/qualiac_twine/formatter/qkr_string_swift_kernel.rb