localio 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -1
- data/lib/localio/processor.rb +2 -1
- data/lib/localio/processors/csv_processor.rb +12 -3
- data/lib/localio/processors/google_drive_processor.rb +18 -4
- data/lib/localio/processors/xls_processor.rb +12 -3
- data/lib/localio/processors/xlsx_processor.rb +12 -3
- data/lib/localio/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b8fc369a41d6286ac26dd25501eddb5c9fee069
|
4
|
+
data.tar.gz: 216509cdfd60919003fa6bec6452cc7172192fb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7672908c03b188d1d5921f5355e9e5ac1cc7072856b01881014cd7612325ca6932f73bde32d8a743ce40abd115d290e366d38e883d0c7ad1c520a80a015bc56
|
7
|
+
data.tar.gz: ae4355156f57f966101e18b7367659134483dfa919633c8b2ddccf1c312e2fe376071df9ae049022d41679f5d4bb1bcb45a662e60198adbfd97345382bb5b19a
|
data/README.md
CHANGED
@@ -76,6 +76,11 @@ Option | Description
|
|
76
76
|
|
77
77
|
#### Extra platform parameters
|
78
78
|
|
79
|
+
|
80
|
+
##### `avoid_lang_downcase`
|
81
|
+
|
82
|
+
By default, language codes are downcased. We can set `:avoid_lang_downcase => true` to avoid this behavior.
|
83
|
+
|
79
84
|
##### iOS - :ios, :swift
|
80
85
|
|
81
86
|
We can opt-out from the constants/macros. We will simple need to add `:create_constants => false`. By default, if omitted, the constants will be always created. It's a good practice to have a compile-time check of the existence of your keys; but if you don't like it it's fine.
|
@@ -109,6 +114,7 @@ You will have to provide some required parameters too. Here is a list of all the
|
|
109
114
|
Option | Description
|
110
115
|
----------------------------|-------------------------------------------------------------------------
|
111
116
|
`:spreadsheet` | (Req.) Title of the spreadsheet you want to use. Can be a partial match.
|
117
|
+
`:sheet` | (Req.) Index number (starting with 0) or name of the sheet w/ the data
|
112
118
|
`:login` | **DEPRECATED** This is deprecated starting version 0.1.0. Please remove it.
|
113
119
|
`:password` | **DEPRECATED** This is deprecated starting version 0.1.0. Please remove it.
|
114
120
|
`:client_id` | (Req.) Your Google CLIENT ID.
|
@@ -180,7 +186,7 @@ You may specify a `sheet` parameter, otherwise the first sheet will be used.
|
|
180
186
|
Option | Description
|
181
187
|
----------------------------|-------------------------------------------------------------------------
|
182
188
|
`:path` | (Req.) Path for your XLSX file.
|
183
|
-
`:sheet` | (
|
189
|
+
`:sheet` | (Req.) Index number (starting with 0) or name of the sheet w/ the data
|
184
190
|
|
185
191
|
````ruby
|
186
192
|
source :xlsx,
|
data/lib/localio/processor.rb
CHANGED
@@ -5,6 +5,7 @@ require 'localio/processors/csv_processor'
|
|
5
5
|
|
6
6
|
module Processor
|
7
7
|
def self.load_localizables(platform_options, service, options)
|
8
|
+
puts "Service: #{service}"
|
8
9
|
case service
|
9
10
|
when :google_drive
|
10
11
|
GoogleDriveProcessor.load_localizables platform_options, options
|
@@ -18,4 +19,4 @@ module Processor
|
|
18
19
|
raise ArgumentError, 'Unsupported service! Try with :google_drive, :csv, :xlsx or :xls in the source argument'
|
19
20
|
end
|
20
21
|
end
|
21
|
-
end
|
22
|
+
end
|
@@ -36,8 +36,17 @@ class CsvProcessor
|
|
36
36
|
for column in 1..csv_file[first_valid_row_index].count-1
|
37
37
|
col_all = csv_file[first_valid_row_index][column].to_s
|
38
38
|
col_all.each_line(' ') do |col_text|
|
39
|
-
default_language = col_text.
|
40
|
-
|
39
|
+
default_language = col_text.gsub('*', '') if col_text.include? '*'
|
40
|
+
lang = col_text.gsub('*', '')
|
41
|
+
|
42
|
+
unless platform_options[:avoid_lang_downcase]
|
43
|
+
default_language = default_language.downcase
|
44
|
+
lang = lang.downcase
|
45
|
+
end
|
46
|
+
|
47
|
+
unless col_text.to_s == ''
|
48
|
+
languages.store lang, column
|
49
|
+
end
|
41
50
|
end
|
42
51
|
end
|
43
52
|
|
@@ -78,4 +87,4 @@ class CsvProcessor
|
|
78
87
|
|
79
88
|
end
|
80
89
|
|
81
|
-
end
|
90
|
+
end
|
@@ -90,9 +90,14 @@ class GoogleDriveProcessor
|
|
90
90
|
abort "More than one match found (#{matching_spreadsheets.join ', '}). You have to be more specific!"
|
91
91
|
end
|
92
92
|
|
93
|
+
sheet = options[:sheet]
|
94
|
+
worksheet = if sheet.is_a? Integer
|
95
|
+
matching_spreadsheets[0].worksheets[sheet]
|
96
|
+
elsif sheet.is_a? String
|
97
|
+
matching_spreadsheets[0].worksheets.detect { |s| s.title == sheet }
|
98
|
+
end
|
99
|
+
|
93
100
|
|
94
|
-
# TODO we could pass a :page_index in the options hash and get that worksheet instead, defaulting to zero?
|
95
|
-
worksheet = matching_spreadsheets[0].worksheets[0]
|
96
101
|
raise 'Unable to retrieve the first worksheet from the spreadsheet. Are there any pages?' if worksheet.nil?
|
97
102
|
|
98
103
|
# At this point we have the worksheet, so we want to store all the key / values
|
@@ -114,8 +119,17 @@ class GoogleDriveProcessor
|
|
114
119
|
for column in 2..worksheet.max_cols
|
115
120
|
col_all = worksheet[first_valid_row_index, column]
|
116
121
|
col_all.each_line(' ') do |col_text|
|
117
|
-
default_language = col_text.
|
118
|
-
|
122
|
+
default_language = col_text.gsub('*', '') if col_text.include? '*'
|
123
|
+
lang = col_text.gsub('*', '')
|
124
|
+
|
125
|
+
unless platform_options[:avoid_lang_downcase]
|
126
|
+
default_language = default_language.downcase
|
127
|
+
lang = lang.downcase
|
128
|
+
end
|
129
|
+
|
130
|
+
unless col_text.to_s == ''
|
131
|
+
languages.store lang, column
|
132
|
+
end
|
119
133
|
end
|
120
134
|
end
|
121
135
|
|
@@ -40,8 +40,17 @@ class XlsProcessor
|
|
40
40
|
for column in 1..worksheet.column_count
|
41
41
|
col_all = worksheet[first_valid_row_index, column].to_s
|
42
42
|
col_all.each_line(' ') do |col_text|
|
43
|
-
default_language = col_text.
|
44
|
-
|
43
|
+
default_language = col_text.gsub('*', '') if col_text.include? '*'
|
44
|
+
lang = col_text.gsub('*', '')
|
45
|
+
|
46
|
+
unless platform_options[:avoid_lang_downcase]
|
47
|
+
default_language = default_language.downcase
|
48
|
+
lang = lang.downcase
|
49
|
+
end
|
50
|
+
|
51
|
+
unless col_text.to_s == ''
|
52
|
+
languages.store lang, column
|
53
|
+
end
|
45
54
|
end
|
46
55
|
end
|
47
56
|
|
@@ -82,4 +91,4 @@ class XlsProcessor
|
|
82
91
|
|
83
92
|
end
|
84
93
|
|
85
|
-
end
|
94
|
+
end
|
@@ -43,8 +43,17 @@ class XlsxProcessor
|
|
43
43
|
for column in 1..worksheet.rows[first_valid_row_index].count-1
|
44
44
|
col_all = worksheet.rows[first_valid_row_index][column].to_s
|
45
45
|
col_all.each_line(' ') do |col_text|
|
46
|
-
default_language = col_text.
|
47
|
-
|
46
|
+
default_language = col_text.gsub('*', '') if col_text.include? '*'
|
47
|
+
lang = col_text.gsub('*', '')
|
48
|
+
|
49
|
+
unless platform_options[:avoid_lang_downcase]
|
50
|
+
default_language = default_language.downcase
|
51
|
+
lang = lang.downcase
|
52
|
+
end
|
53
|
+
|
54
|
+
unless col_text.to_s == ''
|
55
|
+
languages.store lang, column
|
56
|
+
end
|
48
57
|
end
|
49
58
|
end
|
50
59
|
|
@@ -85,4 +94,4 @@ class XlsxProcessor
|
|
85
94
|
|
86
95
|
end
|
87
96
|
|
88
|
-
end
|
97
|
+
end
|
data/lib/localio/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: localio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nacho Lopez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -192,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
192
192
|
version: '0'
|
193
193
|
requirements: []
|
194
194
|
rubyforge_project:
|
195
|
-
rubygems_version: 2.4.
|
195
|
+
rubygems_version: 2.4.8
|
196
196
|
signing_key:
|
197
197
|
specification_version: 4
|
198
198
|
summary: Automatic Localizable file generation for multiple type of files, like Android
|