locamotion 0.0.2 → 0.0.3

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
2
  SHA1:
3
- metadata.gz: 8ef4eaad16d81e361b14657ae0d470b49838fea4
4
- data.tar.gz: 903eb278cff9b0f17ef395a93831089e1ff0807b
3
+ metadata.gz: a2921c947d31171a96954af1871352674b39f582
4
+ data.tar.gz: bfa8f67c27e54e70fe465a48cc997894f252dbc2
5
5
  SHA512:
6
- metadata.gz: 73b10e4a3f9cdd2dda0eeb726d73c2ee7bb8dcc2c7aeac4ea96ab524fe58570b4807f881dffb987d76459dfdc2698e4a9c13e179b8325b4ce9070636b9975e19
7
- data.tar.gz: 214db372cae9b7cde8a07c25ffcb49bab91c05e73fc2488ba031a1dcef346003ad4ede868423d9e6179860f60f3ab999458be73c506834e0e9a6259afd3177d0
6
+ metadata.gz: c664211a9fffc9f7bfbebe27f31592de0f3dc7f2443c29c62744343188c1417a7f19dc5d9412da6ec266871f8619adce6179f0c185c93783326abc84faa73d51
7
+ data.tar.gz: 65d7390b4d6ae4d5b44da190831905b7857fd978ab11c8d1d8d4bef457008282827dae70ee62cd7febdedbc5c3d8201ad5efc25b14483c0ff50c3c348644078d
@@ -1,40 +1,47 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.6)
5
- aruba (0.6.1)
6
- childprocess (>= 0.3.6)
7
- cucumber (>= 1.1.1)
8
- rspec-expectations (>= 2.7.0)
4
+ addressable (2.4.0)
5
+ aruba (0.13.0)
6
+ childprocess (~> 0.5.6)
7
+ contracts (~> 0.9)
8
+ cucumber (>= 1.3.19)
9
+ ffi (~> 1.9.10)
10
+ rspec-expectations (>= 2.99)
11
+ thor (~> 0.19)
9
12
  builder (3.2.2)
10
- childprocess (0.5.5)
13
+ childprocess (0.5.9)
11
14
  ffi (~> 1.0, >= 1.0.11)
12
- cucumber (1.3.18)
15
+ contracts (0.13.0)
16
+ cucumber (2.3.2)
13
17
  builder (>= 2.1.2)
18
+ cucumber-core (~> 1.4.0)
19
+ cucumber-wire (~> 0.0.1)
14
20
  diff-lcs (>= 1.1.3)
15
- gherkin (~> 2.12)
21
+ gherkin (~> 3.2.0)
16
22
  multi_json (>= 1.7.5, < 2.0)
17
- multi_test (>= 0.1.1)
23
+ multi_test (>= 0.1.2)
24
+ cucumber-core (1.4.0)
25
+ gherkin (~> 3.2.0)
26
+ cucumber-wire (0.0.1)
18
27
  descendants_tracker (0.0.4)
19
28
  thread_safe (~> 0.3, >= 0.3.1)
20
29
  diff-lcs (1.2.5)
21
30
  docile (1.1.5)
22
- faraday (0.9.0)
31
+ faraday (0.9.2)
23
32
  multipart-post (>= 1.2, < 3)
24
- ffi (1.9.6)
25
- gherkin (2.12.2)
26
- multi_json (~> 1.3)
27
- git (1.2.8)
28
- github_api (0.12.2)
29
- addressable (~> 2.3)
33
+ ffi (1.9.10)
34
+ gherkin (3.2.0)
35
+ git (1.3.0)
36
+ github_api (0.13.1)
37
+ addressable (~> 2.4.0)
30
38
  descendants_tracker (~> 0.0.4)
31
39
  faraday (~> 0.8, < 0.10)
32
- hashie (>= 3.3)
40
+ hashie (>= 3.4)
33
41
  multi_json (>= 1.7.5, < 2.0)
34
- nokogiri (~> 1.6.3)
35
42
  oauth2
36
- hashie (3.3.2)
37
- highline (1.6.21)
43
+ hashie (3.4.3)
44
+ highline (1.7.8)
38
45
  jeweler (2.0.1)
39
46
  builder
40
47
  bundler (>= 1.0)
@@ -44,23 +51,23 @@ GEM
44
51
  nokogiri (>= 1.5.10)
45
52
  rake
46
53
  rdoc
47
- json (1.8.1)
48
- jwt (1.2.0)
49
- mini_portile (0.6.2)
50
- multi_json (1.10.1)
51
- multi_test (0.1.1)
54
+ json (1.8.3)
55
+ jwt (1.5.1)
56
+ mini_portile2 (2.0.0)
57
+ multi_json (1.11.2)
58
+ multi_test (0.1.2)
52
59
  multi_xml (0.5.5)
53
60
  multipart-post (2.0.0)
54
- nokogiri (1.6.5)
55
- mini_portile (~> 0.6.0)
56
- oauth2 (1.0.0)
61
+ nokogiri (1.6.7.2)
62
+ mini_portile2 (~> 2.0.0.rc2)
63
+ oauth2 (1.1.0)
57
64
  faraday (>= 0.8, < 0.10)
58
- jwt (~> 1.0)
65
+ jwt (~> 1.0, < 1.5.2)
59
66
  multi_json (~> 1.3)
60
67
  multi_xml (~> 0.5)
61
- rack (~> 1.2)
62
- rack (1.6.0)
63
- rake (10.4.2)
68
+ rack (>= 1.2, < 3)
69
+ rack (1.6.4)
70
+ rake (10.5.0)
64
71
  rdoc (3.12.2)
65
72
  json (~> 1.4)
66
73
  rspec (3.1.0)
@@ -75,13 +82,13 @@ GEM
75
82
  rspec-mocks (3.1.3)
76
83
  rspec-support (~> 3.1.0)
77
84
  rspec-support (3.1.2)
78
- simplecov (0.9.1)
85
+ simplecov (0.11.2)
79
86
  docile (~> 1.1.0)
80
- multi_json (~> 1.0)
81
- simplecov-html (~> 0.8.0)
82
- simplecov-html (0.8.0)
87
+ json (~> 1.8)
88
+ simplecov-html (~> 0.10.0)
89
+ simplecov-html (0.10.0)
83
90
  thor (0.19.1)
84
- thread_safe (0.3.4)
91
+ thread_safe (0.3.5)
85
92
 
86
93
  PLATFORMS
87
94
  ruby
@@ -95,3 +102,6 @@ DEPENDENCIES
95
102
  rspec (~> 3.1.0)
96
103
  simplecov
97
104
  thor (~> 0)
105
+
106
+ BUNDLED WITH
107
+ 1.11.2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -18,12 +18,14 @@ Feature: Locamotion generate
18
18
  """
19
19
  value = 3
20
20
  string = "I am localized with a value of #{value}."._
21
+ item.title = NSString.stringWithFormat("Export All Contents in "%@"…"._, object.name)
21
22
  """
22
23
  And a file named "rm-project/resources/en.lproj/Localizable.strings" with:
23
24
  """
24
25
  "I am localized!" = "I am localized!";
25
26
  "I am also localized." = "I am also localized.";
26
27
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
28
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
27
29
  """
28
30
  Given a directory named "rm-project/resources/es.lproj"
29
31
  When I cd to "rm-project"
@@ -35,12 +37,13 @@ Feature: Locamotion generate
35
37
  from the English ones using 'locamotion generate'
36
38
 
37
39
  When I run `locamotion generate`
38
- Then the output should contain "3 new strings"
40
+ Then the output should contain "4 new strings"
39
41
  And the file "resources/es.lproj/Localizable.strings" should contain:
40
42
  """
41
43
  "I am localized!" = "I am localized!";
42
44
  "I am also localized." = "I am also localized.";
43
45
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
46
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
44
47
  """
45
48
 
46
49
  Scenario: Generate Spanish and German strings
@@ -50,19 +53,21 @@ Feature: Locamotion generate
50
53
 
51
54
  Given a directory named "resources/de.lproj"
52
55
  When I run `locamotion generate`
53
- Then the output should contain "3 new strings entered into resources/de.lproj/Localizable.strings"
54
- Then the output should contain "3 new strings entered into resources/es.lproj/Localizable.strings"
56
+ Then the output should contain "4 new strings entered into resources/de.lproj/Localizable.strings"
57
+ Then the output should contain "4 new strings entered into resources/es.lproj/Localizable.strings"
55
58
  And the file "resources/es.lproj/Localizable.strings" should contain:
56
59
  """
57
60
  "I am localized!" = "I am localized!";
58
61
  "I am also localized." = "I am also localized.";
59
62
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
63
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
60
64
  """
61
65
  And the file "resources/de.lproj/Localizable.strings" should contain:
62
66
  """
63
67
  "I am localized!" = "I am localized!";
64
68
  "I am also localized." = "I am also localized.";
65
69
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
70
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
66
71
  """
67
72
 
68
73
  Scenario: Generate Spanish and German strings with some taken strings
@@ -81,16 +86,18 @@ Feature: Locamotion generate
81
86
  "I am also localized." = "Ich bin auch übersetzt.";
82
87
  """
83
88
  When I run `locamotion generate`
84
- Then the output should contain "2 new strings entered into resources/de.lproj/Localizable.strings"
85
- Then the output should contain "1 new string entered into resources/es.lproj/Localizable.strings"
89
+ Then the output should contain "3 new strings entered into resources/de.lproj/Localizable.strings"
90
+ Then the output should contain "2 new strings entered into resources/es.lproj/Localizable.strings"
86
91
  And the file "resources/es.lproj/Localizable.strings" should contain:
87
92
  """
88
93
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
94
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
89
95
  """
90
96
  And the file "resources/de.lproj/Localizable.strings" should contain:
91
97
  """
92
98
  "I am localized!" = "I am localized!";
93
99
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
100
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
94
101
  """
95
102
 
96
103
  Scenario: Generate Spanish and German strings with all taken strings
@@ -104,12 +111,14 @@ Feature: Locamotion generate
104
111
  "I am localized!" = "Tengo traduccion!";
105
112
  "I am also localized." = "Yo tambien tengo traduccion.";
106
113
  "I am localized with a value of #{value}." = "Tengo traduccion con el valor #{value}.";
114
+ "Export All Contents in "%@"…" = "Exportar contenidos de "%@"…";
107
115
  """
108
116
  Given a file named "resources/de.lproj/Localizable.strings" with:
109
117
  """
110
118
  "I am localized!" = "Ich bin übersetzt!";
111
119
  "I am also localized." = "Ich bin auch übersetzt.";
112
120
  "I am localized with a value of #{value}." = "Ich bin mit den wert #{value} übersetzt.";
121
+ "Export All Contents in "%@"…" = "Inhalt von "%@" exportieren…";
113
122
  """
114
123
  When I run `locamotion generate`
115
124
  Then the output should contain "No new strings added to resources/de.lproj/Localizable.strings"
@@ -119,12 +128,14 @@ Feature: Locamotion generate
119
128
  "I am localized!" = "Tengo traduccion!";
120
129
  "I am also localized." = "Yo tambien tengo traduccion.";
121
130
  "I am localized with a value of #{value}." = "Tengo traduccion con el valor #{value}.";
131
+ "Export All Contents in "%@"…" = "Exportar contenidos de "%@"…";
122
132
  """
123
133
  And the file "resources/de.lproj/Localizable.strings" should contain:
124
134
  """
125
135
  "I am localized!" = "Ich bin übersetzt!";
126
136
  "I am also localized." = "Ich bin auch übersetzt.";
127
137
  "I am localized with a value of #{value}." = "Ich bin mit den wert #{value} übersetzt.";
138
+ "Export All Contents in "%@"…" = "Inhalt von "%@" exportieren…";
128
139
  """
129
140
 
130
141
  Scenario: Attempt to run Locamotion where there's no RubyMotion project
@@ -18,6 +18,11 @@ Feature: Locamotion slurp
18
18
  """
19
19
  value = 3
20
20
  string = "I am localized with a value of #{value}."._
21
+ item.title = NSString.stringWithFormat("Export All Contents in "%@"…"._, object.name)
22
+ """
23
+ And a file named "rm-project/app/test3.rb" with:
24
+ """
25
+ array = ['first string'._, 'second string'._, 'third string'._]
21
26
  """
22
27
  When I cd to "rm-project"
23
28
 
@@ -26,28 +31,36 @@ Feature: Locamotion slurp
26
31
  To slurp, the user has to call "locamotion slurp"
27
32
 
28
33
  When I run `locamotion slurp`
29
- Then the output should contain "3 new strings"
34
+ Then the output should contain "7 new strings"
30
35
  And the file "resources/en.lproj/Localizable.strings" should contain:
31
36
  """
32
37
  "I am localized!" = "I am localized!";
33
38
  "I am also localized." = "I am also localized.";
34
39
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
40
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
41
+ "first string" = "first string";
42
+ "second string" = "second string";
43
+ "third string" = "third string";
35
44
  """
36
-
45
+
37
46
  Scenario: Slurp with existing english files
38
47
 
39
48
  Users can add missing strings to their english file.
40
49
 
41
50
  Given a file named "resources/en.lproj/Localizable.strings" with:
42
51
  """
52
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
43
53
  "I am localized!" = "I am localized!";
44
54
  """
45
55
  When I run `locamotion slurp`
46
- Then the output should contain "2 new strings"
56
+ Then the output should contain "5 new strings"
47
57
  And the file "resources/en.lproj/Localizable.strings" should contain:
48
58
  """
49
59
  "I am also localized." = "I am also localized.";
50
60
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
61
+ "first string" = "first string";
62
+ "second string" = "second string";
63
+ "third string" = "third string";
51
64
  """
52
65
 
53
66
  Scenario: Slurp with all existing english strings
@@ -59,6 +72,10 @@ Feature: Locamotion slurp
59
72
  "I am localized!" = "I am localized!";
60
73
  "I am also localized." = "I am also localized.";
61
74
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
75
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
76
+ "first string" = "first string";
77
+ "second string" = "second string";
78
+ "third string" = "third string";
62
79
  """
63
80
  When I run `locamotion slurp`
64
81
  Then the output should contain "No new strings"
@@ -67,6 +84,10 @@ Feature: Locamotion slurp
67
84
  "I am localized!" = "I am localized!";
68
85
  "I am also localized." = "I am also localized.";
69
86
  "I am localized with a value of #{value}." = "I am localized with a value of #{value}.";
87
+ "Export All Contents in "%@"…" = "Export All Contents in "%@"…";
88
+ "first string" = "first string";
89
+ "second string" = "second string";
90
+ "third string" = "third string";
70
91
  """
71
92
 
72
93
  Scenario: Attempt to run Locamotion where there's no RubyMotion project
@@ -2,6 +2,8 @@ require 'thor'
2
2
 
3
3
  module Locamotion
4
4
  class App < Thor
5
+ map %w[--version -v] => :__print_version
6
+
5
7
  desc 'slurp', "Slurp the app's localized strings into the English localization"
6
8
 
7
9
  def slurp
@@ -22,6 +24,12 @@ module Locamotion
22
24
  end
23
25
  end
24
26
 
27
+ desc "--version, -v", "print the version"
28
+
29
+ def __print_version
30
+ puts '0.0.3'
31
+ end
32
+
25
33
  no_commands {
26
34
  def slurp_main
27
35
  matches = parse_rubymotion_app('app/**/*.rb')
@@ -62,8 +70,8 @@ module Locamotion
62
70
  matches = []
63
71
  Dir.glob(path) do |ruby_file|
64
72
  File.open(ruby_file).each do |line|
65
- matches += line.scan(/"([^"]+)"\._/)
66
- matches += line.scan(/'([^']+)'\._/)
73
+ matches += line.scan(/"(.*?)"\._/)
74
+ matches += line.scan(/'(.*?)'\._/)
67
75
  end
68
76
  end
69
77
  matches.flatten
@@ -89,7 +97,7 @@ module Locamotion
89
97
 
90
98
  def announce_slurp_results(strings_added_count)
91
99
  if strings_added_count > 0
92
- "#{strings_added_count} new string#{strings_added_count == 1 ? '' : 's'} entered into ./resources/en.lproj/Localizable.strings"
100
+ "#{strings_added_count} new string#{strings_added_count == 1 ? '' : 's'} entered into resources/en.lproj/Localizable.strings"
93
101
  else
94
102
  'No new strings added.'
95
103
  end
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: locamotion 0.0.2 ruby lib
5
+ # stub: locamotion 0.0.3 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "locamotion"
9
- s.version = "0.0.2"
9
+ s.version = "0.0.3"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Ramon Huidobro"]
14
- s.date = "2015-01-01"
14
+ s.date = "2016-02-27"
15
15
  s.description = "Locamotion (Localization Motion) is a Command Line tool to generate localizable files in RubyMotion projects. It parses the 'app' directory for SugarCube (https://github.com/rubymotion/sugarcube) strings, ending in '._'. It also transfers the english localized files into others."
16
16
  s.email = "ramon.martin.huidobro@gmail.com"
17
17
  s.executables = ["locamotion"]
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
43
43
  ]
44
44
  s.homepage = "http://github.com/incbee/locamotion"
45
45
  s.licenses = ["MIT"]
46
- s.rubygems_version = "2.4.5"
46
+ s.rubygems_version = "2.4.8"
47
47
  s.summary = "CLI tool to generate localizable files in RubyMotion projects"
48
48
 
49
49
  if s.respond_to? :specification_version then
@@ -7,6 +7,7 @@ describe "Slurp" do
7
7
  content = <<-eos
8
8
  "I am localized!"._
9
9
  "I am also localized."._
10
+ "Export \"%@\" Object…"._
10
11
  eos
11
12
  File.open('/tmp/rm_project/app/test1.rb', 'a+') { |f| f.write(content) }
12
13
  File.open('/tmp/rm_project/app/test2.rb', 'a+') { |f| f.write("\"I am to be localized\"._") }
@@ -18,15 +19,15 @@ describe "Slurp" do
18
19
  end
19
20
 
20
21
  it "gets all localizable strings" do
21
- expect(@app.parse_rubymotion_app('/tmp/rm_project/app/**/*.rb')).to match_array(["I am localized!", "I am also localized.", "I am to be localized"])
22
+ expect(@app.parse_rubymotion_app('/tmp/rm_project/app/**/*.rb')).to match_array(["I am localized!", "I am also localized.", "I am to be localized", "Export \"%@\" Object…"])
22
23
  end
23
24
 
24
- it "announces 3 finished strings" do
25
- expect(@app.announce_slurp_results(3)).to eq("3 new strings entered into ./resources/en.lproj/Localizable.strings")
25
+ it "announces 4 finished strings" do
26
+ expect(@app.announce_slurp_results(4)).to eq("4 new strings entered into resources/en.lproj/Localizable.strings")
26
27
  end
27
28
 
28
29
  it "announces 1 finished string" do
29
- expect(@app.announce_slurp_results(1)).to eq("1 new string entered into ./resources/en.lproj/Localizable.strings")
30
+ expect(@app.announce_slurp_results(1)).to eq("1 new string entered into resources/en.lproj/Localizable.strings")
30
31
  end
31
32
 
32
33
  it "announces no finished strings" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: locamotion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ramon Huidobro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-01 00:00:00.000000000 Z
11
+ date: 2016-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -173,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
173
173
  version: '0'
174
174
  requirements: []
175
175
  rubyforge_project:
176
- rubygems_version: 2.4.5
176
+ rubygems_version: 2.4.8
177
177
  signing_key:
178
178
  specification_version: 4
179
179
  summary: CLI tool to generate localizable files in RubyMotion projects