onesky-rails 1.2.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +1 -3
- data/CHANGELOG.md +31 -9
- data/README.md +14 -2
- data/lib/generators/templates/onesky.yml.tt +6 -0
- data/lib/onesky/rails/file_client.rb +52 -5
- data/lib/onesky/rails/version.rb +1 -1
- data/lib/tasks/onesky.rake +15 -3
- data/onesky-rails.gemspec +6 -6
- data/spec/fixtures/sample_files/en/en.yml +13 -0
- data/spec/fixtures/sample_files/en/menu.yml +3 -0
- data/spec/fixtures/{locales → sample_files/ja}/ja.yml +4 -0
- data/spec/fixtures/sample_files/ja/menu.yml +3 -0
- data/spec/fixtures/{locales → sample_files/original}/en.yml +0 -0
- data/spec/fixtures/{locales/special_en.yml → sample_files/original/menu.yml} +0 -0
- data/spec/onesky/rails/file_client_spec.rb +114 -28
- metadata +27 -24
- data/spec/fixtures/locales/en.json +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 980a8350341a3615e0824dd9c47e1bd1c9ebc8359bf2e13f65835a0a76c1726a
|
4
|
+
data.tar.gz: 6d2fe1027039c511a7fb65be8d713fc017e9f2870e0fd2c05dc32d7d7551b445
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 321c893d64a191c1f1e65b6c5b5e74fe772537940d3f76121d2d28dd675b76db312fee7dce798898af0a0b34445b70887ea792af1df3d5fc996196f7f871405f
|
7
|
+
data.tar.gz: 1bf61f47c360285dbcfd3b5b929b235124e2c19845ecaa77a375406c373feaac632c2f8dc6a72e756576df9b96376ff4dca21d9de227f2a2289ee14acb46e1f2
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,13 +1,28 @@
|
|
1
|
-
###
|
1
|
+
### 1.6.0 - 12-AUG-2021
|
2
2
|
|
3
|
-
*
|
4
|
-
*
|
5
|
-
* Download translations from OneSky
|
3
|
+
* Update dependencies to support Ruby 3.0.x
|
4
|
+
* Use v1.3.1 onesky-ruby gem
|
6
5
|
|
7
|
-
### 1.
|
6
|
+
### 1.5.0 - 18-OCT-2019
|
8
7
|
|
9
|
-
*
|
10
|
-
|
8
|
+
* Use v1.2.0 onesky-ruby gem
|
9
|
+
|
10
|
+
### 1.4.1 - 11-JUN-2019
|
11
|
+
|
12
|
+
* Update dependencies to support Ruby 2.5.x
|
13
|
+
|
14
|
+
### 1.3.1 - 17-MAY-2016
|
15
|
+
|
16
|
+
* fix downloaded file naming
|
17
|
+
|
18
|
+
### 1.3.0 - 13-MAY-2016
|
19
|
+
|
20
|
+
* support download base language only translation files
|
21
|
+
* support download all translation files
|
22
|
+
|
23
|
+
### 1.2.0 - 13-JUL-2015
|
24
|
+
|
25
|
+
* support custom locale
|
11
26
|
|
12
27
|
### 1.1.0 - 9-JUN-2015
|
13
28
|
|
@@ -15,6 +30,13 @@
|
|
15
30
|
* able to parse ERB template
|
16
31
|
* able to customize base_locale
|
17
32
|
|
18
|
-
### 1.
|
33
|
+
### 1.0.0 - 31-DEC-2014
|
19
34
|
|
20
|
-
*
|
35
|
+
* Add custom header
|
36
|
+
* bump version to 1.0.0 as stable version
|
37
|
+
|
38
|
+
### 0.0.1 - 4-NOV-2014
|
39
|
+
|
40
|
+
* Generate config file
|
41
|
+
* Upload base locale string files to OneSky
|
42
|
+
* Download translations from OneSky
|
data/README.md
CHANGED
@@ -36,12 +36,24 @@ Upload all string files of `I18n.default_locale` to [OneSky](http://www.oneskyap
|
|
36
36
|
```
|
37
37
|
rake onesky:download
|
38
38
|
```
|
39
|
-
Download translations of files uploaded in all languages activated in project.
|
39
|
+
Download translations of files uploaded in all languages activated in project other than the base language.
|
40
|
+
|
41
|
+
**Download base language translations**
|
42
|
+
```
|
43
|
+
rake onesky:download_base
|
44
|
+
```
|
45
|
+
Download translations of files uploaded only for the base language.
|
46
|
+
|
47
|
+
**Download all languages translations**
|
48
|
+
```
|
49
|
+
rake onesky:download_all
|
50
|
+
```
|
51
|
+
Download translations of files uploaded for all the languages including the base language.
|
40
52
|
|
41
53
|
## TODO
|
42
54
|
- Specify file to upload
|
43
55
|
- Specify file and language to download
|
44
|
-
- Support
|
56
|
+
- Support different backend
|
45
57
|
|
46
58
|
## Contributing
|
47
59
|
|
@@ -28,12 +28,30 @@ NOTICE
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
|
31
|
+
##
|
32
|
+
# Download translations from OneSky platform
|
33
|
+
#
|
34
|
+
# +string_path+ specify the folder path where all localization files locate
|
35
|
+
# +options+ indicate which files to download
|
36
|
+
# - :base_only => base language only
|
37
|
+
# - :all => all languages including base language
|
38
|
+
# - <empty> => default value; translation languages
|
39
|
+
#
|
40
|
+
def download(string_path, options = {})
|
32
41
|
verify_languages!
|
33
42
|
|
34
43
|
files = get_default_locale_files(string_path).map {|path| File.basename(path)}
|
35
44
|
|
36
|
-
|
45
|
+
locales = if options[:base_only]
|
46
|
+
[@base_locale]
|
47
|
+
elsif options[:all]
|
48
|
+
[@base_locale] + @onesky_locales
|
49
|
+
else
|
50
|
+
@onesky_locales
|
51
|
+
end
|
52
|
+
|
53
|
+
locales.each do |locale|
|
54
|
+
locale = locale.to_s
|
37
55
|
puts "#{locale_dir(locale)}/"
|
38
56
|
onesky_locale = locale.gsub('_', '-')
|
39
57
|
files.each do |file|
|
@@ -53,17 +71,27 @@ NOTICE
|
|
53
71
|
end
|
54
72
|
|
55
73
|
def make_translation_dir(dir_path, locale)
|
74
|
+
return dir_path if locale == @base_locale.to_s
|
75
|
+
|
56
76
|
target_path = File.join(dir_path, locale_dir(locale))
|
57
77
|
Dir.mkdir(target_path) unless File.directory?(target_path)
|
58
78
|
target_path
|
59
79
|
end
|
60
80
|
|
61
81
|
def locale_file_name(file, to_locale)
|
62
|
-
|
82
|
+
if File.basename(file, '.*') == @base_locale.to_s
|
83
|
+
file.sub(@base_locale.to_s, to_locale)
|
84
|
+
else
|
85
|
+
file
|
86
|
+
end
|
63
87
|
end
|
64
88
|
|
65
89
|
def get_default_locale_files(string_path)
|
90
|
+
string_path = Pathname.new(string_path)
|
91
|
+
locale_files_filter = generate_locale_files_filter
|
66
92
|
Dir.glob("#{string_path}/**/*.yml").map do |path|
|
93
|
+
relative_path = Pathname.new(path).relative_path_from(string_path).to_s
|
94
|
+
next if locale_files_filter && !locale_files_filter.call(relative_path)
|
67
95
|
content_hash = YAML.load_file(path)
|
68
96
|
path if content_hash && content_hash.has_key?(@base_locale.to_s)
|
69
97
|
end.compact
|
@@ -80,9 +108,28 @@ NOTICE
|
|
80
108
|
end
|
81
109
|
|
82
110
|
def is_keep_strings?
|
83
|
-
return true unless
|
111
|
+
return true unless upload_config.has_key?('is_keeping_all_strings')
|
112
|
+
|
113
|
+
!!upload_config['is_keeping_all_strings']
|
114
|
+
end
|
115
|
+
|
116
|
+
def generate_locale_files_filter
|
117
|
+
only = Array(upload_config['only'])
|
118
|
+
except = Array(upload_config['except'])
|
119
|
+
|
120
|
+
if only.any? && except.any?
|
121
|
+
raise ArgumentError, "Invalid config. Can't use both `only` and `except` options."
|
122
|
+
end
|
123
|
+
|
124
|
+
if only.any?
|
125
|
+
->(path) { only.include?(path) }
|
126
|
+
elsif except.any?
|
127
|
+
->(path) { !except.include?(path) }
|
128
|
+
end
|
129
|
+
end
|
84
130
|
|
85
|
-
|
131
|
+
def upload_config
|
132
|
+
@config['upload'] ||= {}
|
86
133
|
end
|
87
134
|
|
88
135
|
end
|
data/lib/onesky/rails/version.rb
CHANGED
data/lib/tasks/onesky.rake
CHANGED
@@ -1,17 +1,29 @@
|
|
1
1
|
namespace :onesky do
|
2
2
|
|
3
|
-
desc
|
3
|
+
desc 'Upload string files of base locale to OneSky platform.'
|
4
4
|
task :upload => :environment do
|
5
5
|
file_client.upload(locale_path)
|
6
6
|
puts 'Done!'
|
7
7
|
end
|
8
8
|
|
9
|
-
desc
|
9
|
+
desc 'Download translations from OneSky platform.'
|
10
10
|
task :download => :environment do
|
11
11
|
file_client.download(locale_path)
|
12
12
|
puts 'Done!'
|
13
13
|
end
|
14
14
|
|
15
|
+
desc 'Download base language translations from OneSky platform.'
|
16
|
+
task :download_base => :environment do
|
17
|
+
file_client.download(locale_path, base_only: true)
|
18
|
+
puts 'Done!'
|
19
|
+
end
|
20
|
+
|
21
|
+
desc 'Download all languages translations from OneSky platform.'
|
22
|
+
task :download_all => :environment do
|
23
|
+
file_client.download(locale_path, all: true)
|
24
|
+
puts 'Done!'
|
25
|
+
end
|
26
|
+
|
15
27
|
def file_client
|
16
28
|
require 'erb'
|
17
29
|
data = YAML::load(ERB.new(File.read(Rails.root.join('config', 'onesky.yml'))).result)
|
@@ -19,7 +31,7 @@ namespace :onesky do
|
|
19
31
|
end
|
20
32
|
|
21
33
|
def locale_path
|
22
|
-
Rails.root.join(
|
34
|
+
Rails.root.join('config/locales')
|
23
35
|
end
|
24
36
|
|
25
37
|
end
|
data/onesky-rails.gemspec
CHANGED
@@ -19,11 +19,11 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_dependency "i18n", ">= 0.5.0"
|
22
|
-
spec.add_dependency "onesky-ruby", "~> 1.
|
22
|
+
spec.add_dependency "onesky-ruby", "~> 1.3.1"
|
23
23
|
|
24
|
-
spec.add_development_dependency "bundler", "~>
|
25
|
-
spec.add_development_dependency "rake", "~>
|
26
|
-
spec.add_development_dependency "rspec", "~> 3.
|
27
|
-
spec.add_development_dependency "timecop", "~> 0.
|
28
|
-
spec.add_development_dependency "webmock", "~>
|
24
|
+
spec.add_development_dependency "bundler", "~> 2.2"
|
25
|
+
spec.add_development_dependency "rake", "~> 12.3"
|
26
|
+
spec.add_development_dependency "rspec", "~> 3.7.0"
|
27
|
+
spec.add_development_dependency "timecop", "~> 0.9.0"
|
28
|
+
spec.add_development_dependency "webmock", "~> 3.0.0"
|
29
29
|
end
|
File without changes
|
File without changes
|
@@ -4,72 +4,158 @@ describe Onesky::Rails::FileClient do
|
|
4
4
|
|
5
5
|
let(:config_hash) { create_config_hash }
|
6
6
|
let(:client) {Onesky::Rails::FileClient.new(config_hash)}
|
7
|
+
let(:sample_file_path) { File.expand_path("../../../fixtures/sample_files", __FILE__) }
|
7
8
|
let(:file_path) { File.expand_path("../../../fixtures/locales", __FILE__) }
|
8
9
|
|
9
10
|
before(:each) do
|
10
11
|
stub_language_request(config_hash['api_key'], config_hash['api_secret'], config_hash['project_id'])
|
12
|
+
|
13
|
+
# create test dir
|
14
|
+
FileUtils.copy_entry "#{sample_file_path}/original", file_path
|
15
|
+
end
|
16
|
+
|
17
|
+
after(:each) do
|
18
|
+
# delete test dir
|
19
|
+
FileUtils.remove_dir(file_path) if File.directory?(file_path)
|
20
|
+
end
|
21
|
+
|
22
|
+
def create_config_hash_with_upload_options(upload_options)
|
23
|
+
create_config_hash.tap do |config|
|
24
|
+
config['upload'].merge!(upload_options)
|
25
|
+
end
|
11
26
|
end
|
12
27
|
|
13
28
|
context '#upload' do
|
14
|
-
|
29
|
+
before(:each) do
|
15
30
|
stub_request(:post, full_path_with_auth_hash("/projects/#{config_hash['project_id']}/files", config_hash['api_key'], config_hash['api_secret']))
|
16
31
|
.to_return(status: 201)
|
32
|
+
end
|
17
33
|
|
18
|
-
|
34
|
+
it 'all translation files to onesky' do
|
35
|
+
expect(client.upload(file_path)).to match_array(["#{file_path}/en.yml","#{file_path}/menu.yml"])
|
19
36
|
end
|
20
|
-
end
|
21
37
|
|
22
|
-
|
38
|
+
context 'with `only` option' do
|
39
|
+
let(:config_hash) { create_config_hash_with_upload_options('only' => 'menu.yml') }
|
23
40
|
|
24
|
-
|
25
|
-
|
41
|
+
it 'matching translation files to onesky' do
|
42
|
+
expect(client.upload(file_path)).to match_array(["#{file_path}/menu.yml"])
|
43
|
+
end
|
26
44
|
end
|
27
45
|
|
28
|
-
|
46
|
+
context 'with `except` option' do
|
47
|
+
let(:config_hash) { create_config_hash_with_upload_options('except' => 'menu.yml') }
|
29
48
|
|
30
|
-
|
31
|
-
|
49
|
+
it 'matching translation files to onesky' do
|
50
|
+
expect(client.upload(file_path)).to match_array(["#{file_path}/en.yml"])
|
51
|
+
end
|
32
52
|
end
|
53
|
+
end
|
33
54
|
|
34
|
-
|
35
|
-
|
55
|
+
context 'download' do
|
56
|
+
|
57
|
+
let(:file_names) do
|
58
|
+
# source filename => downloaded filename
|
59
|
+
{
|
60
|
+
'en.yml' => {'en' => 'en.yml', 'ja' => 'ja.yml'},
|
61
|
+
'menu.yml' => {'en' => 'menu.yml', 'ja' => 'menu.yml'}
|
62
|
+
}
|
36
63
|
end
|
37
64
|
|
38
|
-
def
|
39
|
-
|
40
|
-
File.delete(*Dir.glob("#{locale_dir}/**/*"))
|
41
|
-
Dir.delete(locale_dir)
|
42
|
-
end
|
65
|
+
def locale_dir(locale)
|
66
|
+
locale == I18n.default_locale.to_s ? file_path : File.join(file_path, 'onesky_ja')
|
43
67
|
end
|
44
68
|
|
45
|
-
|
46
|
-
|
69
|
+
def locale_files(locale)
|
70
|
+
Dir.glob("#{locale_dir(locale)}/*.yml")
|
47
71
|
end
|
48
72
|
|
49
|
-
|
50
|
-
|
73
|
+
def expected_locale_files(locale)
|
74
|
+
["#{locale_dir(locale)}/#{locale}.yml", "#{locale_dir(locale)}/menu.yml"]
|
51
75
|
end
|
52
76
|
|
53
77
|
it 'download translations from OneSky and save as YAML files' do
|
54
|
-
|
78
|
+
locale = 'ja'
|
79
|
+
prepare_download_requests!(locale)
|
55
80
|
|
56
|
-
expect(locale_files).to be_empty
|
81
|
+
expect(locale_files(locale)).to be_empty
|
57
82
|
client.download(file_path)
|
58
|
-
expect(locale_files).to match_array(expected_locale_files)
|
83
|
+
expect(locale_files(locale)).to match_array(expected_locale_files(locale))
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'download translations of base language from OneSky' do
|
87
|
+
locale = 'en'
|
88
|
+
prepare_download_requests!(locale)
|
89
|
+
|
90
|
+
client.download(file_path, base_only: true)
|
91
|
+
|
92
|
+
# test files created
|
93
|
+
expected_files = expected_locale_files(locale)
|
94
|
+
expect(locale_files(locale)).to match_array(expected_files)
|
95
|
+
|
96
|
+
# test file content
|
97
|
+
content = YAML.load_file(expected_files.pop)
|
98
|
+
expected_content = YAML.load_file(File.join(sample_file_path, locale, 'menu.yml'))
|
99
|
+
expect(content).to eq(expected_content)
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'download all translations including base language from OneSky' do
|
103
|
+
locales = ['en', 'ja']
|
104
|
+
locales.each { |locale| prepare_download_requests!(locale) }
|
105
|
+
|
106
|
+
client.download(file_path, all: true)
|
107
|
+
|
108
|
+
locales.each do |locale|
|
109
|
+
# test files created
|
110
|
+
expected_files = expected_locale_files(locale)
|
111
|
+
expect(locale_files(locale)).to match_array(expected_files)
|
112
|
+
|
113
|
+
# test file content
|
114
|
+
content = YAML.load_file(expected_files.pop)
|
115
|
+
expected_content = YAML.load_file(File.join(sample_file_path, locale, "menu.yml"))
|
116
|
+
expect(content).to eq(expected_content)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
context 'with `only` option' do
|
121
|
+
let(:config_hash) { create_config_hash_with_upload_options('only' => 'menu.yml') }
|
122
|
+
let(:expected_locale_files) { ["#{locale_dir(locale)}/menu.yml"] }
|
123
|
+
let(:locale) { 'ja' }
|
124
|
+
|
125
|
+
it 'downloads matching translation from OneSky and save as YAML files' do
|
126
|
+
prepare_download_requests!(locale)
|
127
|
+
expect(locale_files(locale)).to be_empty
|
128
|
+
client.download(file_path)
|
129
|
+
expect(locale_files(locale)).to match_array(expected_locale_files)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
context 'with `except` option' do
|
134
|
+
let(:config_hash) { create_config_hash_with_upload_options('except' => 'menu.yml') }
|
135
|
+
let(:expected_locale_files) { ["#{locale_dir(locale)}/ja.yml"] }
|
136
|
+
let(:locale) { 'ja' }
|
137
|
+
|
138
|
+
it 'downloads matching translation from OneSky and save as YAML files' do
|
139
|
+
prepare_download_requests!(locale)
|
140
|
+
expect(locale_files(locale)).to be_empty
|
141
|
+
client.download(file_path)
|
142
|
+
expect(locale_files(locale)).to match_array(expected_locale_files)
|
143
|
+
end
|
59
144
|
end
|
60
145
|
|
61
|
-
def prepare_download_requests!
|
146
|
+
def prepare_download_requests!(locale)
|
62
147
|
Timecop.freeze
|
63
|
-
file_names.each do |file_name|
|
148
|
+
file_names.keys.each do |file_name|
|
149
|
+
downloaded_file_name = file_names[file_name][locale]
|
64
150
|
response_headers = {
|
65
151
|
'Content-Type' => 'text/plain',
|
66
|
-
'Content-Disposition' => "attachment; filename=#{
|
152
|
+
'Content-Disposition' => "attachment; filename=#{downloaded_file_name}",
|
67
153
|
}
|
68
|
-
query_string = "&source_file_name=#{file_name}&locale
|
154
|
+
query_string = "&source_file_name=#{file_name}&locale=#{locale}"
|
69
155
|
stub_request(:get, full_path_with_auth_hash("/projects/#{config_hash['project_id']}/translations", config_hash['api_key'], config_hash['api_secret']) + query_string)
|
70
156
|
.to_return(
|
71
157
|
status: 200,
|
72
|
-
body: File.read(File.join(
|
158
|
+
body: File.read(File.join(sample_file_path, locale, downloaded_file_name)),
|
73
159
|
headers: response_headers)
|
74
160
|
end
|
75
161
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onesky-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Lam
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|
@@ -30,84 +30,84 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.3.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.3.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '2.2'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '2.2'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '12.3'
|
62
62
|
type: :development
|
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: '
|
68
|
+
version: '12.3'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 3.
|
75
|
+
version: 3.7.0
|
76
76
|
type: :development
|
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: 3.
|
82
|
+
version: 3.7.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: timecop
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.9.0
|
90
90
|
type: :development
|
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.
|
96
|
+
version: 0.9.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: webmock
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 3.0.0
|
104
104
|
type: :development
|
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:
|
110
|
+
version: 3.0.0
|
111
111
|
description: Integrate Rails app with OneSky that provide `upload` and `download`
|
112
112
|
rake command to sync string files
|
113
113
|
email:
|
@@ -133,10 +133,12 @@ files:
|
|
133
133
|
- lib/onesky/rails/version.rb
|
134
134
|
- lib/tasks/onesky.rake
|
135
135
|
- onesky-rails.gemspec
|
136
|
-
- spec/fixtures/
|
137
|
-
- spec/fixtures/
|
138
|
-
- spec/fixtures/
|
139
|
-
- spec/fixtures/
|
136
|
+
- spec/fixtures/sample_files/en/en.yml
|
137
|
+
- spec/fixtures/sample_files/en/menu.yml
|
138
|
+
- spec/fixtures/sample_files/ja/ja.yml
|
139
|
+
- spec/fixtures/sample_files/ja/menu.yml
|
140
|
+
- spec/fixtures/sample_files/original/en.yml
|
141
|
+
- spec/fixtures/sample_files/original/menu.yml
|
140
142
|
- spec/onesky/rails/client_spec.rb
|
141
143
|
- spec/onesky/rails/file_client_spec.rb
|
142
144
|
- spec/spec_helper.rb
|
@@ -159,16 +161,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
159
161
|
- !ruby/object:Gem::Version
|
160
162
|
version: '0'
|
161
163
|
requirements: []
|
162
|
-
|
163
|
-
rubygems_version: 2.4.6
|
164
|
+
rubygems_version: 3.2.19
|
164
165
|
signing_key:
|
165
166
|
specification_version: 4
|
166
167
|
summary: Rails plugin to sync string files with OneSky
|
167
168
|
test_files:
|
168
|
-
- spec/fixtures/
|
169
|
-
- spec/fixtures/
|
170
|
-
- spec/fixtures/
|
171
|
-
- spec/fixtures/
|
169
|
+
- spec/fixtures/sample_files/en/en.yml
|
170
|
+
- spec/fixtures/sample_files/en/menu.yml
|
171
|
+
- spec/fixtures/sample_files/ja/ja.yml
|
172
|
+
- spec/fixtures/sample_files/ja/menu.yml
|
173
|
+
- spec/fixtures/sample_files/original/en.yml
|
174
|
+
- spec/fixtures/sample_files/original/menu.yml
|
172
175
|
- spec/onesky/rails/client_spec.rb
|
173
176
|
- spec/onesky/rails/file_client_spec.rb
|
174
177
|
- spec/spec_helper.rb
|