locamotion 0.0.2 → 0.0.3

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: 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