any2tmx 1.0.0 → 1.0.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
2
  SHA1:
3
- metadata.gz: e34e73e877005effaf94729c0d3929359ee04e96
4
- data.tar.gz: 5778d82075a5db914398b25af2c19e69885fd043
3
+ metadata.gz: e4a51f29495018028e773fa84c49a343cd82f9c8
4
+ data.tar.gz: 79770ee9937bd68ed1c5cf11e48b2683bd7f9680
5
5
  SHA512:
6
- metadata.gz: 7e7539b3f90f17c4b94e22838ad0d9325ed2a0201a03aba27dfff39f15422ca8c4d24d9b70130e0a702a1748b4a35a500daa3b7f1b35a60fa17fe11c18538926
7
- data.tar.gz: 6658db3c6acd69e5fe0cfbb1013becffee73e159cee8b98f7483adca03448543dfdfea8f18a609af1754ac07e28db7fe4c1da12bd52c771abd178bacc05f87e4
6
+ metadata.gz: 4e6e155c8a19e16f0e74d6c7644ceacca16bcbc3932eb85ac6071a7fb05bb0d2a47b3be9c6107edf491e3e6cf59eb01c55f07e88ca9f0cf72aad6b501b923523
7
+ data.tar.gz: 3c9527ee9fdfb1365d7d1585dbfb795c1c7faebd91a788d0145d4a5558cd26ea972f3915cbd0f64cf0750deba09ac58e85a5081e23eed8e234d5ece952c8efb5
data/History.txt CHANGED
@@ -6,3 +6,7 @@
6
6
 
7
7
  * Renamed gem from yaml2tmx to any2tmx.
8
8
  * Added support for JSON and Android XML.
9
+
10
+ == 1.0.1
11
+
12
+ * Add ability to load files by name or by contents.
@@ -3,8 +3,13 @@ module Any2Tmx
3
3
  class AndroidTransform < Transform
4
4
  private
5
5
 
6
- def load(file, locale)
7
- phrases = Any2Tmx::AndroidXmlParser.parse(File.read(file))
6
+ def load_file(file, locale)
7
+ phrases = File.read(file)
8
+ load(contents, locale)
9
+ end
10
+
11
+ def load(contents, locale)
12
+ contents = Any2Tmx::AndroidXmlParser.parse(contents)
8
13
  traversable = Any2Tmx::Traversable.new(phrases)
9
14
  Any2Tmx::PhraseSet.new(traversable, locale)
10
15
  end
@@ -5,9 +5,13 @@ module Any2Tmx
5
5
  class JsonTransform < Transform
6
6
  private
7
7
 
8
- def load(file, locale)
9
- phrases = JSON.parse(File.read(file))
10
- traversable = Any2Tmx::Traversable.new(phrases)
8
+ def load_file(file, locale)
9
+ phrases = File.read(file)
10
+ load(phrases)
11
+ end
12
+
13
+ def load(contents, locale)
14
+ traversable = Any2Tmx::Traversable.new(JSON.parse(contents))
11
15
  Any2Tmx::PhraseSet.new(traversable, locale)
12
16
  end
13
17
  end
@@ -8,8 +8,8 @@ module Any2Tmx
8
8
  end
9
9
 
10
10
  def result
11
- source = load(options.source, options.source_locale)
12
- target = load(options.target, options.target_locale)
11
+ source = read(options.source, options.source_locale)
12
+ target = read(options.target, options.target_locale)
13
13
  count = 0
14
14
  zipped = source.zip(target) { count += 1 }
15
15
  Result.new(source, target, zipped, count)
@@ -17,6 +17,19 @@ module Any2Tmx
17
17
 
18
18
  private
19
19
 
20
+ def read(location_or_contents, locale)
21
+ if File.exist?(location_or_contents)
22
+ load_file(location_or_contents, locale)
23
+ else
24
+ load(location_or_contents, locale)
25
+ end
26
+ end
27
+
28
+ def load_file(file, locale)
29
+ raise NotImplementedError,
30
+ "#{__method__} must be defined in derived classes"
31
+ end
32
+
20
33
  def load(file, locale)
21
34
  raise NotImplementedError,
22
35
  "#{__method__} must be defined in derived classes"
@@ -5,14 +5,19 @@ module Any2Tmx
5
5
  class YamlTransform < Transform
6
6
  private
7
7
 
8
- def load(file, locale)
9
- phrases = YAML.load_file(file)
8
+ def load_file(file, locale)
9
+ phrases = File.read(file)
10
+ load(phrases, locale)
11
+ end
12
+
13
+ def load(contents, locale)
14
+ contents = YAML.load(contents)
10
15
 
11
- if phrases.include?(locale)
12
- phrases = phrases[locale]
16
+ if contents.include?(locale)
17
+ contents = contents[locale]
13
18
  end
14
19
 
15
- traversable = Any2Tmx::Traversable.new(phrases)
20
+ traversable = Any2Tmx::Traversable.new(contents)
16
21
  Any2Tmx::PhraseSet.new(traversable, locale)
17
22
  end
18
23
  end
@@ -1,3 +1,3 @@
1
1
  module Any2Tmx
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: any2tmx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-28 00:00:00.000000000 Z
11
+ date: 2016-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xml-write-stream