Sha256: 34cca80f17c51ade24f2e12063a4da22a3be00589429e09a2725b8235d09bda0

Contents?: true

Size: 1.25 KB

Versions: 12

Compression:

Stored size: 1.25 KB

Contents

# encoding: UTF-8

# Copyright 2012 Twitter, Inc
# http://www.apache.org/licenses/LICENSE-2.0

require 'fileutils'

module TwitterCldr
  module Resources
    class SegmentTestsImporter < Importer

      TEST_FILES = [
        'ucd/auxiliary/WordBreakTest.txt',
        'ucd/auxiliary/SentenceBreakTest.txt'
      ]

      requirement :unicode, Versions.unicode_version, TEST_FILES
      output_path 'shared/segments/tests'
      ruby_engine :mri

      def execute
        TEST_FILES.each do |test_file|
          import_test_file(test_file)
        end
      end

      private

      def import_test_file(test_file)
        source_file = source_path_for(test_file)
        FileUtils.mkdir_p(File.dirname(source_file))
        result = UnicodeFileParser.parse_standard_file(source_file).map(&:first)
        File.write(output_path_for(test_file), YAML.dump(result))
      end

      def source_path_for(test_file)
        requirements[:unicode].source_path_for(test_file)
      end

      def output_path_for(test_file)
        file = underscore(File.basename(test_file).chomp(File.extname(test_file)))
        File.join(params.fetch(:output_path), "#{file}.yml")
      end

      def underscore(str)
        str.gsub(/(.)([A-Z])/, '\1_\2').downcase
      end

    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
metanorma-cli-1.3.4 gems/ruby/2.6.0/gems/twitter_cldr-4.4.5/lib/twitter_cldr/resources/segment_tests_importer.rb
metanorma-cli-1.3.3.1 gems/ruby/2.6.0/gems/twitter_cldr-4.4.5/lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.4.5 lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.4.4 lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.4.3 lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.4.2 lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.4.1 lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.4.0 lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.3.1 lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.3.0 lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.2.0 lib/twitter_cldr/resources/segment_tests_importer.rb
twitter_cldr-4.1.0 lib/twitter_cldr/resources/segment_tests_importer.rb