localio 0.0.15 → 0.0.16

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: 9cb8181c33c29f3477e04f73aa91a16dfda1acfd
4
- data.tar.gz: 080445fba916282f095eb450093856e1e96d08cc
3
+ metadata.gz: c9c6a8a6a6554f0357ff10a569020a342110c9d7
4
+ data.tar.gz: e938f2f1e5d5b10bdcc932f88643560b2bef86f0
5
5
  SHA512:
6
- metadata.gz: 93788874df7b32d3261d0a2d35e4cb9622f3450d6f588f6e116bfa223b3f5eb23ff0256b773ceb017da4a8829ce40e288e0f64fd063c73ceda6fd38258fcf5b8
7
- data.tar.gz: 62ad83d981598e675cf60fd7852da19e8f08c1717eb7534e3953c0f716f1893c2f4af8dd52b32dea70cbba4b255f70f0377d551ae5681ed5b8faf7889d1f9ff7
6
+ metadata.gz: 935f4099fac61d787a3f1aa04241067bc4c03647360ea100eb7cf9a8e64350e08c9cbf6b005b5f594ee9902d7374f254444022d73cf997add0a7f52c9f7b71ec
7
+ data.tar.gz: fae34afc53481e52fcaa9ebf1b3b44920c844a13346e9e889b1274706c866b6f443f7742a3bd78647f9925c24b1a4247ff11b1984f137626c9323bac22d5f721
@@ -6,7 +6,7 @@ class Locfile
6
6
  #
7
7
  # possible values
8
8
  # :android, :ios, :rails, :json
9
- dsl_accessor :platform
9
+ dsl_accessor :platform_name, :platform_options
10
10
 
11
11
  # Specifies the filesystem path where the generated files will be
12
12
  dsl_accessor :output_path
@@ -29,7 +29,8 @@ class Locfile
29
29
  dsl_accessor :source_service, :source_options
30
30
 
31
31
  def initialize
32
- @platform = nil
32
+ @platform_name = nil
33
+ @platform_options = nil
33
34
  @source_service = :google_drive
34
35
  @source_path = nil
35
36
  @source_options = nil
@@ -37,6 +38,15 @@ class Locfile
37
38
  @formatting = :smart
38
39
  end
39
40
 
41
+ # Defines the platform
42
+ #
43
+ # service : any of the supported ones (see above)
44
+ # options : hash with extra options, view documentation for the different services
45
+ def platform(name, options = {})
46
+ @platform_name = name
47
+ @platform_options = options
48
+ end
49
+
40
50
  # Defines the service storing the translations
41
51
  #
42
52
  # service : can be :google_drive, :xls
@@ -3,14 +3,14 @@ require 'localio/processors/xls_processor'
3
3
  require 'localio/processors/xlsx_processor'
4
4
 
5
5
  module Processor
6
- def self.load_localizables(service, options)
6
+ def self.load_localizables(platform_options, service, options)
7
7
  case service
8
8
  when :google_drive
9
- GoogleDriveProcessor.load_localizables options
9
+ GoogleDriveProcessor.load_localizables platform_options, options
10
10
  when :xls
11
- XlsProcessor.load_localizables options
11
+ XlsProcessor.load_localizables platform_options, options
12
12
  when :xlsx
13
- XlsxProcessor.load_localizables options
13
+ XlsxProcessor.load_localizables platform_options, options
14
14
  else
15
15
  raise ArgumentError, 'Unsupported service! Try with :google_drive, :xlsx or :xls in the source argument'
16
16
  end
@@ -3,7 +3,7 @@ require 'localio/term'
3
3
 
4
4
  class GoogleDriveProcessor
5
5
 
6
- def self.load_localizables(options)
6
+ def self.load_localizables(platform_options, options)
7
7
 
8
8
  # Parameter validations
9
9
  spreadsheet = options[:spreadsheet]
@@ -13,6 +13,9 @@ class GoogleDriveProcessor
13
13
  password = options[:password]
14
14
  raise ArgumentError, ':password required for Google Drive source!' if password.nil?
15
15
 
16
+ override_default = nil
17
+ override_default = platform_options[:override_default] unless platform_options.nil? or platform_options[:override_default].nil?
18
+
16
19
  # Log in and get spreadsheet
17
20
  puts 'Logging in to Google Drive...'
18
21
  begin
@@ -68,6 +71,7 @@ class GoogleDriveProcessor
68
71
  abort 'There are no language columns in the worksheet' if languages.count == 0
69
72
 
70
73
  default_language = languages[0] if default_language.to_s == ''
74
+ default_language = override_default unless override_default.nil?
71
75
 
72
76
  puts "Languages detected: #{languages.keys.join(', ')} -- using #{default_language} as default."
73
77
 
@@ -3,12 +3,15 @@ require 'localio/term'
3
3
 
4
4
  class XlsProcessor
5
5
 
6
- def self.load_localizables(options)
6
+ def self.load_localizables(platform_options, options)
7
7
 
8
8
  # Parameter validations
9
9
  path = options[:path]
10
10
  raise ArgumentError, ':path attribute is missing from the source, and it is required for xls spreadsheets' if path.nil?
11
11
 
12
+ override_default = nil
13
+ override_default = platform_options[:override_default] unless platform_options.nil? or platform_options[:override_default].nil?
14
+
12
15
  Spreadsheet.client_encoding = 'UTF-8'
13
16
 
14
17
  book = Spreadsheet.open path
@@ -44,6 +47,7 @@ class XlsProcessor
44
47
  raise 'There are no language columns in the worksheet' if languages.count == 0
45
48
 
46
49
  default_language = languages[0] if default_language.to_s == ''
50
+ default_language = override_default unless override_default.nil?
47
51
 
48
52
  puts "Languages detected: #{languages.keys.join(', ')} -- using #{default_language} as default."
49
53
 
@@ -3,12 +3,15 @@ require 'localio/term'
3
3
 
4
4
  class XlsxProcessor
5
5
 
6
- def self.load_localizables(options)
6
+ def self.load_localizables(platform_options, options)
7
7
 
8
8
  # Parameter validations
9
9
  path = options[:path]
10
10
  raise ArgumentError, ':path attribute is missing from the source, and it is required for xlsx spreadsheets' if path.nil?
11
11
 
12
+ override_default = nil
13
+ override_default = platform_options[:override_default] unless platform_options.nil? or platform_options[:override_default].nil?
14
+
12
15
  book = SimpleXlsxReader.open path
13
16
 
14
17
  # TODO we could pass a :page_index in the options hash and get that worksheet instead, defaulting to zero?
@@ -42,6 +45,7 @@ class XlsxProcessor
42
45
  raise 'There are no language columns in the worksheet' if languages.count == 0
43
46
 
44
47
  default_language = languages[0] if default_language.to_s == ''
48
+ default_language = override_default unless override_default.nil?
45
49
 
46
50
  puts "Languages detected: #{languages.keys.join(', ')} -- using #{default_language} as default."
47
51
 
@@ -1,3 +1,3 @@
1
1
  module Localio
2
- VERSION = "0.0.15"
2
+ VERSION = "0.0.16"
3
3
  end
data/lib/localio.rb CHANGED
@@ -37,7 +37,8 @@ module Localio
37
37
  end
38
38
 
39
39
  def self.process_to_memory
40
- @localizables = Processor.load_localizables @configuration.source_service,
40
+ @localizables = Processor.load_localizables @configuration.platform_options,
41
+ @configuration.source_service,
41
42
  @configuration.source_options
42
43
  end
43
44
 
@@ -48,7 +49,7 @@ module Localio
48
49
  end
49
50
 
50
51
  def self.build_localizables
51
- LocalizableWriter.write @configuration.platform,
52
+ LocalizableWriter.write @configuration.platform_name,
52
53
  @localizables[:languages],
53
54
  @localizables[:segments],
54
55
  @configuration.output_path,
data/localio.gemspec CHANGED
@@ -27,9 +27,9 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency "bundler", "~> 1.3"
28
28
  spec.add_development_dependency "rake"
29
29
 
30
- spec.add_dependency "micro-optparse", "~> 1.1.5"
31
- spec.add_dependency "google_drive", "~> 0.3.6"
32
- spec.add_dependency "spreadsheet", "~> 0.8.9"
33
- spec.add_dependency "simple_xlsx_reader", "~> 0.9.8"
34
- spec.add_dependency "nokogiri", "~> 1.6.1"
30
+ spec.add_dependency "micro-optparse", "~> 1.1"
31
+ spec.add_dependency "google_drive", "~> 0.3"
32
+ spec.add_dependency "spreadsheet", "~> 0.8"
33
+ spec.add_dependency "simple_xlsx_reader", "~> 0.9"
34
+ spec.add_dependency "nokogiri", "~> 1.6"
35
35
  end
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.0.15
4
+ version: 0.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nacho Lopez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-31 00:00:00.000000000 Z
11
+ date: 2014-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -58,70 +58,70 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.1.5
61
+ version: '1.1'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.1.5
68
+ version: '1.1'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: google_drive
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.3.6
75
+ version: '0.3'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.3.6
82
+ version: '0.3'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: spreadsheet
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.8.9
89
+ version: '0.8'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.8.9
96
+ version: '0.8'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: simple_xlsx_reader
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.9.8
103
+ version: '0.9'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.9.8
110
+ version: '0.9'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: nokogiri
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.6.1
117
+ version: '1.6'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.6.1
124
+ version: '1.6'
125
125
  description: Automatic Localizable file generation for multiple platforms (Rails YAML,
126
126
  Android, Java Properties, iOS, JSON)
127
127
  email: