xliffle 0.1.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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