xliffle 0.1.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9c3e2597e48807a7fa1d71cf71b958a1bc19433b
4
- data.tar.gz: e3a70fd86c7d88559f2ce47d2456e67a57a887c4
2
+ SHA256:
3
+ metadata.gz: 5aeee9837f9c44b286af4eb64499b2030eab38ed7498ac3922ba123c25cfcd9f
4
+ data.tar.gz: 88864c4e691c19324a13d4647b21debcf085accbaf389c3de23e0ea33d4a3ec9
5
5
  SHA512:
6
- metadata.gz: c1ebe0e776e9e865411fd0b66d271ce9dda1402e8998cca6a6566ce038e4736721c4be92db3c73dffdc3117120c029572c642164edb19fa11482b572ef339e63
7
- data.tar.gz: ad378bba4a0ac3a5e6f9b0b21c2b79b4a4e52cfdf6173595f36f4841ff9f7b9090c610594678c359df35899a22fbb7d8f355dd33d06b5a67e358ab4525f9fecf
6
+ metadata.gz: 56fd2d66f5d1f9c48ce78647b3762d61a7853a7a9c4de5d548c4f8c12e4d806b8299be797da18656240cd52c8dc6c05bf6e1aa440d9911ffc2f946500ecbd715
7
+ data.tar.gz: f222bb0c1cbaacf1bf4bf6a13937f355a11835c17da8edf911876373e0ecf1cb08673a1c2d23cb9c4e638d0a2af44099bb8883676bf9e53aae21ee52627fc552
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require 'bundler/setup'
3
5
  rescue LoadError
@@ -14,9 +16,6 @@ RDoc::Task.new(:rdoc) do |rdoc|
14
16
  rdoc.rdoc_files.include('lib/**/*.rb')
15
17
  end
16
18
 
17
-
18
-
19
-
20
19
  Bundler::GemHelper.install_tasks
21
20
 
22
21
  require 'rake/testtask'
@@ -28,5 +27,4 @@ Rake::TestTask.new(:test) do |t|
28
27
  t.verbose = false
29
28
  end
30
29
 
31
-
32
30
  task default: :test
data/lib/xliffle.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'xliffle/creator'
2
4
  require 'xliffle/file'
3
5
  require 'xliffle/string'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'builder'
2
4
  require 'tempfile'
3
5
 
@@ -10,7 +12,7 @@ module Xliffle
10
12
  end
11
13
 
12
14
  def file(original, source_locale, target_locale)
13
- file = Xliffle::File.new(file_id, original, source_locale, target_locale)
15
+ file = Xliffle::File.new(original, source_locale, target_locale)
14
16
  @files << file
15
17
  file
16
18
  end
@@ -25,7 +27,7 @@ module Xliffle
25
27
 
26
28
  def to_file
27
29
  handle = Tempfile.new('foo.xlf')
28
- handle.write self.to_xliff
30
+ handle.write to_xliff
29
31
  handle.close
30
32
  handle
31
33
  end
@@ -37,9 +39,9 @@ module Xliffle
37
39
  end
38
40
 
39
41
  def xml(&block)
40
- xml = Builder::XmlMarkup.new( :indent => 2 )
41
- xml.instruct! :xml, :encoding => "UTF-8"
42
- xml.xliff({version: '1.2', xmlns: 'urn:oasis:names:tc:xliff:document:1.2'}, &block)
42
+ xml = Builder::XmlMarkup.new(indent: 2)
43
+ xml.instruct! :xml, encoding: 'UTF-8'
44
+ xml.xliff({ version: '1.2', xmlns: 'urn:oasis:names:tc:xliff:document:1.2' }, &block)
43
45
  end
44
46
  end
45
47
  end
data/lib/xliffle/file.rb CHANGED
@@ -1,35 +1,31 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Xliffle
2
4
  class File
3
5
  attr_reader :original, :strings, :source_locale, :target_locale
4
6
 
5
- def initialize(id, original, source_locale, target_locale)
6
- @id = id
7
+ def initialize(original, source_locale, target_locale)
7
8
  @strings = []
8
9
  @original = original
9
10
  @source_locale = source_locale
10
11
  @target_locale = target_locale
11
12
  end
12
13
 
13
- def string(name, source, target)
14
- string = Xliffle::String.new(string_id, name, source, target)
14
+ def string(id, source, target, options = {})
15
+ string = Xliffle::String.new(id, source, target, options)
15
16
  @strings << string
16
17
  string
17
18
  end
18
19
 
19
20
  def to_xliff(xliff)
20
- xliff.file(original: @original, datatype: 'plaintext', 'source-language' => @source_locale, 'target-language' => @target_locale,) do |file|
21
+ xliff.file(original: @original, datatype: 'plaintext', 'source-language' => @source_locale,
22
+ 'target-language' => @target_locale) do |file|
21
23
  file.body do |body|
22
- self.strings.each do |string|
24
+ strings.each do |string|
23
25
  string.to_xliff(body)
24
26
  end
25
27
  end
26
28
  end
27
29
  end
28
-
29
- private
30
-
31
- def string_id
32
- "#{ @id }_#{ @strings.length.succ }"
33
- end
34
30
  end
35
31
  end
data/lib/xliffle/note.rb CHANGED
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Xliffle
2
4
  class Note
3
5
  attr_reader :note, :priority
4
6
 
5
- def initialize(note, options={})
7
+ def initialize(note, options = {})
6
8
  @note = note
7
9
  @priority = options[:priority] || 2
8
10
  end
@@ -1,29 +1,58 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Xliffle
2
4
  class String
3
- attr_reader :name, :source, :target, :notes
5
+ attr_reader :id, :source, :target, :notes
4
6
 
5
- def initialize(id, name, source_string, target_string)
7
+ def initialize(id, source_string, target_string, options = {})
6
8
  @id = id
7
- @name = name
8
9
  @source_string = source_string
9
10
  @target_string = target_string
11
+ @options = options
10
12
  @notes = []
11
13
  end
12
14
 
13
- def note(note, priority=2)
14
- note = Xliffle::Note.new(note, priority)
15
+ def note(note, priority = 2)
16
+ note = Xliffle::Note.new(note, priority: priority)
15
17
  @notes << note
16
18
  note
17
19
  end
18
20
 
19
21
  def to_xliff(xliff)
20
- xliff.tag!('trans-unit', { id: @id, resname: @name }) do |tag|
21
- tag.source(@source_string)
22
- tag.target(@target_string)
22
+ xliff.tag!('trans-unit', attributes) do |tag|
23
+ add_segments(tag)
24
+
23
25
  @notes.each do |note|
24
26
  note.to_xliff(tag)
25
27
  end
26
28
  end
27
29
  end
30
+
31
+ private
32
+
33
+ def attributes
34
+ attributes = { id: @id }
35
+ attributes[:resname] = @options[:resource_name] if @options[:resource_name]
36
+
37
+ attributes
38
+ end
39
+
40
+ def add_segments(tag)
41
+ tag.source do |xml|
42
+ segment(xml, @source_string)
43
+ end
44
+
45
+ tag.target do |xml|
46
+ segment(xml, @target_string)
47
+ end
48
+ end
49
+
50
+ def segment(tag, value)
51
+ if @options[:use_cdata]
52
+ tag.cdata!(value)
53
+ else
54
+ tag.text!(value)
55
+ end
56
+ end
28
57
  end
29
58
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Xliffle
2
- VERSION = "0.1.0"
4
+ VERSION = '0.3.1'
3
5
  end
data/test/test_helper.rb CHANGED
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Configure Rails Environment
2
- ENV["RAILS_ENV"] = "test"
4
+ ENV['RAILS_ENV'] = 'test'
3
5
 
4
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
- require "rails/test_help"
6
+ require File.expand_path('dummy/config/environment.rb', __dir__)
7
+ require 'rails/test_help'
6
8
 
7
9
  Rails.backtrace_cleaner.remove_silencers!
8
10
 
9
11
  # Load support files
10
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
12
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each { |f| require f }
11
13
 
12
14
  # Load fixtures from the engine
13
15
  if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
- ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
16
+ ActiveSupport::TestCase.fixture_path = File.expand_path('fixtures', __dir__)
15
17
  end
data/test/xliffle_test.rb CHANGED
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class XliffleTest < ActiveSupport::TestCase
4
- test "truth" do
6
+ test 'truth' do
5
7
  assert_kind_of Module, Xliffle
6
8
  end
7
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xliffle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Rohde
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-18 00:00:00.000000000 Z
11
+ date: 2021-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -25,33 +25,75 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rspec
28
+ name: oga
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3'
33
+ version: '3.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3'
40
+ version: '3.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.9'
47
+ version: '0.14'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.14'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.10'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '0.9'
68
+ version: '3.10'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.15'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.15'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop-rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.3'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.3'
55
97
  description: A gem to build XLIFF files from translated strings.
56
98
  email:
57
99
  - info@rohdenetz.de
@@ -81,18 +123,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
81
123
  requirements:
82
124
  - - ">="
83
125
  - !ruby/object:Gem::Version
84
- version: '0'
126
+ version: '2.7'
127
+ - - "<"
128
+ - !ruby/object:Gem::Version
129
+ version: '4'
85
130
  required_rubygems_version: !ruby/object:Gem::Requirement
86
131
  requirements:
87
132
  - - ">="
88
133
  - !ruby/object:Gem::Version
89
134
  version: '0'
90
135
  requirements: []
91
- rubyforge_project:
92
- rubygems_version: 2.2.2
136
+ rubygems_version: 3.1.6
93
137
  signing_key:
94
138
  specification_version: 4
95
139
  summary: Gem to create XLIFF files
96
140
  test_files:
97
- - test/test_helper.rb
98
141
  - test/xliffle_test.rb
142
+ - test/test_helper.rb