active_admin_import 3.0.0 → 3.1.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 +0 -4
- data/active_admin_import.gemspec +1 -1
- data/config/locales/tr.yml +23 -0
- data/lib/active_admin_import/importer.rb +24 -0
- data/lib/active_admin_import/version.rb +1 -1
- data/spec/import_spec.rb +37 -0
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0752ed26da2e640bbef43504a32bb98550d230d4f3c8cab9c1ff3fc6cd8f8eee
|
4
|
+
data.tar.gz: 441866fbf6ba23fdf49f1232f56ca5545f9ee1c1f1f71402be42261d8c2df72d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ca717644add0b286d26eb6f97f4be627954576cd9cb4153f5f97e9e849719495c266add21a033ca906636e2373c42b2452350586c52af95ee1dbb8acc1a7696
|
7
|
+
data.tar.gz: 00e6d0d6c689254eadd789a987d7aec3d6742f1988aec2f3373b867af3ac5bdf6e2077f272ba80cbae847750cc996d1ac5b7e08fc7ed664991ffd38733779066
|
data/.travis.yml
CHANGED
@@ -11,7 +11,3 @@ matrix:
|
|
11
11
|
exclude:
|
12
12
|
- rvm: 2.1.9
|
13
13
|
env: RAILS=5.0.0 # Rails 5.0 requires Ruby 2.2.2 or newer
|
14
|
-
before_install:
|
15
|
-
- gem update --system # use the very latest Rubygems
|
16
|
-
- rvm @global do gem uninstall bundler -a -x
|
17
|
-
- rvm @global do gem install bundler -v 1.14.6 # latest version known to work
|
data/active_admin_import.gemspec
CHANGED
@@ -18,5 +18,5 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.add_runtime_dependency 'activerecord-import', '~> 0.17.0'
|
19
19
|
gem.add_runtime_dependency 'rchardet', '~> 1.6'
|
20
20
|
gem.add_runtime_dependency 'rubyzip', '~> 1.2'
|
21
|
-
gem.add_dependency 'activeadmin', '
|
21
|
+
gem.add_dependency 'activeadmin', '>= 1.0.0.pre2'
|
22
22
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
tr:
|
2
|
+
active_admin:
|
3
|
+
import: "İçe aktar"
|
4
|
+
active_admin_import:
|
5
|
+
file: 'Dosya'
|
6
|
+
file_error: "Hata: %{message}"
|
7
|
+
file_format_error: "Sadece geçerli csv dosyasını içe aktarabilirsiniz"
|
8
|
+
file_empty_error: "Boş dosyayı içe aktaramazsın"
|
9
|
+
no_file_error: "Lütfen, içe aktarmak için dosya seçin"
|
10
|
+
details: "Lütfen, içe aktarmak için dosya seçin"
|
11
|
+
imported:
|
12
|
+
one: "Başarıyla 1 %{model} içe aktarıldı."
|
13
|
+
other: "Başarıyla %{count} %{plural_model} içe aktarıldı."
|
14
|
+
failed:
|
15
|
+
one: "1 %{model} içe aktarılamadı: %{message}"
|
16
|
+
other: "%{count} %{plural_model} içe aktarılamadı: %{message}"
|
17
|
+
import_model: "İçe aktar %{plural_model}"
|
18
|
+
import_btn: "İçe aktar"
|
19
|
+
import_btn_disabled: "Bekleyin..."
|
20
|
+
csv_options: "CSV seçenekleri"
|
21
|
+
col_sep: 'Sutün ayracı'
|
22
|
+
row_sep: 'Satır ayracı'
|
23
|
+
quote_char: 'Alıntı karakteri'
|
@@ -60,6 +60,30 @@ module ActiveAdminImport
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
+
# Use it when CSV file contain redundant columns
|
64
|
+
#
|
65
|
+
# Example:
|
66
|
+
#
|
67
|
+
# ActiveAdmin.register Post
|
68
|
+
# active_admin_import before_batch_import: lambda { |importer|
|
69
|
+
# importer.batch_slice_columns(['name', 'birthday'])
|
70
|
+
# }
|
71
|
+
# end
|
72
|
+
#
|
73
|
+
def batch_slice_columns(slice_columns)
|
74
|
+
use_indexes = []
|
75
|
+
headers.values.each_with_index do |val, index|
|
76
|
+
use_indexes << index if val.in?(slice_columns)
|
77
|
+
end
|
78
|
+
return csv_lines if use_indexes.empty?
|
79
|
+
# slice CSV headers
|
80
|
+
@headers = headers.to_a.values_at(*use_indexes).to_h
|
81
|
+
# slice CSV values
|
82
|
+
csv_lines.map! do |line|
|
83
|
+
line.values_at(*use_indexes)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
63
87
|
def values_at(header_key)
|
64
88
|
csv_lines.collect { |line| line[header_index(header_key)] }.uniq
|
65
89
|
end
|
data/spec/import_spec.rb
CHANGED
@@ -433,6 +433,43 @@ describe 'import', type: :feature do
|
|
433
433
|
end
|
434
434
|
end
|
435
435
|
|
436
|
+
context "with slice_columns option" do
|
437
|
+
before do
|
438
|
+
add_author_resource template_object: ActiveAdminImport::Model.new,
|
439
|
+
before_batch_import: lambda { |importer|
|
440
|
+
importer.batch_slice_columns(slice_columns)
|
441
|
+
}
|
442
|
+
visit "/admin/authors/import"
|
443
|
+
upload_file!(:authors)
|
444
|
+
end
|
445
|
+
|
446
|
+
context "slice last column and superfluous column" do
|
447
|
+
let(:slice_columns) { %w(name last_name not_existing_column) }
|
448
|
+
|
449
|
+
it "should not fill `birthday` column" do
|
450
|
+
expect(Author.pluck(:name, :last_name, :birthday)).to match_array(
|
451
|
+
[
|
452
|
+
["Jane", "Roe", nil],
|
453
|
+
["John", "Doe", nil]
|
454
|
+
]
|
455
|
+
)
|
456
|
+
end
|
457
|
+
end
|
458
|
+
|
459
|
+
context "slice column from the middle" do
|
460
|
+
let(:slice_columns) { %w(name birthday) }
|
461
|
+
|
462
|
+
it "should not fill `last_name` column" do
|
463
|
+
expect(Author.pluck(:name, :last_name, :birthday)).to match_array(
|
464
|
+
[
|
465
|
+
["Jane", nil, "1988-11-16".to_date],
|
466
|
+
["John", nil, "1986-05-01".to_date]
|
467
|
+
]
|
468
|
+
)
|
469
|
+
end
|
470
|
+
end
|
471
|
+
end
|
472
|
+
|
436
473
|
context 'with invalid options' do
|
437
474
|
let(:options) { { invalid_option: :invalid_value } }
|
438
475
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_admin_import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Fedoronchuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord-import
|
@@ -56,16 +56,16 @@ dependencies:
|
|
56
56
|
name: activeadmin
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 1.0.0.pre2
|
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:
|
68
|
+
version: 1.0.0.pre2
|
69
69
|
description: The most efficient way to import for Active Admin
|
70
70
|
email:
|
71
71
|
- fedoronchuk@gmail.com
|
@@ -90,6 +90,7 @@ files:
|
|
90
90
|
- config/locales/ko.yml
|
91
91
|
- config/locales/pt-BR.yml
|
92
92
|
- config/locales/ru.yml
|
93
|
+
- config/locales/tr.yml
|
93
94
|
- config/locales/uk.yml
|
94
95
|
- config/locales/zh-CN.yml
|
95
96
|
- lib/active_admin_import.rb
|
@@ -146,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
146
147
|
version: '0'
|
147
148
|
requirements: []
|
148
149
|
rubyforge_project:
|
149
|
-
rubygems_version: 2.6
|
150
|
+
rubygems_version: 2.7.6
|
150
151
|
signing_key:
|
151
152
|
specification_version: 4
|
152
153
|
summary: ActiveAdmin import based on activerecord-import gem.
|