rails_admin_import 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +15 -6
- data/RELEASE_NOTES +6 -0
- data/Rakefile +39 -0
- data/app/views/rails_admin/main/import.html.erb +133 -92
- data/lib/rails_admin_import/import.rb +14 -8
- data/lib/rails_admin_import/import_logger.rb +14 -0
- data/lib/rails_admin_import/version.rb +1 -1
- data/lib/rails_admin_import.rb +3 -3
- metadata +13 -12
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b11e6300c09b071ce9b711b6b3fd3cda25aa5520
|
4
|
+
data.tar.gz: a462c3e1016ca867f092d0e9219188f693af4c4c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d38fd170f28cd50af1b5bfb632bb32c3dd8c98a5b170e4c11e7bb4a614730872abd9f79592e40c401d4398283dffc013daab13f4a322dc384d42c0a3da68527e
|
7
|
+
data.tar.gz: a13f5db4ae247c17ee7a67e8db890356d62b75d473da8ba93662382b97c2677e593f9a19b75ec4fa8fc31f087dfcc2e09f0822fa81f6760397d394aa17356f94
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2012 YOURNAME
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
Request for Contributors / Core Contributors
|
2
|
+
========
|
3
|
+
|
4
|
+
I apologize for my extreme lack of attention to this repository since it was created. I see that several users have forked this gem and applied updates. I'd be interested in giving access to this main repository for any interested in maintaining it and/or adding features. Please contact me if you are interested at steph at endpoint dot com.
|
5
|
+
|
6
|
+
|
1
7
|
Rails Admin Import functionality
|
2
8
|
========
|
3
9
|
|
@@ -8,17 +14,17 @@ Installation
|
|
8
14
|
|
9
15
|
* First, add to Gemfile:
|
10
16
|
|
11
|
-
gem "rails_admin_import"
|
17
|
+
gem "rails_admin_import"
|
12
18
|
|
13
19
|
* Next, mount in your application by adding following line to your config/routes.rb:
|
14
20
|
|
15
21
|
mount RailsAdminImport::Engine => '/rails_admin_import', :as => 'rails_admin_import'
|
16
22
|
|
17
|
-
*
|
23
|
+
* If you are using cancan, add to ability.rb to specify which models can be imported:
|
18
24
|
|
19
25
|
can :import, [User, Model1, Model2]
|
20
26
|
|
21
|
-
* Define configuration in config/initializers/
|
27
|
+
* Define configuration in config/initializers/rails_admin_import.rb:
|
22
28
|
|
23
29
|
RailsAdminImport.config do |config|
|
24
30
|
config.model User do
|
@@ -36,8 +42,11 @@ Installation
|
|
36
42
|
|
37
43
|
# some model
|
38
44
|
def before_import_save(row, map)
|
39
|
-
|
40
|
-
|
45
|
+
# Your custom special sauce
|
46
|
+
end
|
47
|
+
|
48
|
+
def after_import_save(row, map)
|
49
|
+
# Your custom special sauce
|
41
50
|
end
|
42
51
|
|
43
52
|
* "import" action must be added inside config.actions block in main application RailsAdmin configuration: config/initializers/rails_admin.rb.
|
@@ -62,4 +71,4 @@ TODO
|
|
62
71
|
Copyright
|
63
72
|
========
|
64
73
|
|
65
|
-
Copyright (c)
|
74
|
+
Copyright (c) 2014 End Point & Steph Skardal. See LICENSE.txt for further details.
|
data/RELEASE_NOTES
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
begin
|
3
|
+
require 'bundler/setup'
|
4
|
+
rescue LoadError
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
+
end
|
7
|
+
begin
|
8
|
+
require 'rdoc/task'
|
9
|
+
rescue LoadError
|
10
|
+
require 'rdoc/rdoc'
|
11
|
+
require 'rake/rdoctask'
|
12
|
+
RDoc::Task = Rake::RDocTask
|
13
|
+
end
|
14
|
+
|
15
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
16
|
+
rdoc.rdoc_dir = 'rdoc'
|
17
|
+
rdoc.title = 'RailsAdminImport'
|
18
|
+
rdoc.options << '--line-numbers'
|
19
|
+
rdoc.rdoc_files.include('README.rdoc')
|
20
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
21
|
+
end
|
22
|
+
|
23
|
+
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
Bundler::GemHelper.install_tasks
|
28
|
+
|
29
|
+
require 'rake/testtask'
|
30
|
+
|
31
|
+
Rake::TestTask.new(:test) do |t|
|
32
|
+
t.libs << 'lib'
|
33
|
+
t.libs << 'test'
|
34
|
+
t.pattern = 'test/**/*_test.rb'
|
35
|
+
t.verbose = false
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
task :default => :test
|
@@ -1,102 +1,143 @@
|
|
1
1
|
<% if @response -%>
|
2
2
|
<% if @response.has_key?(:error) -%>
|
3
|
-
<div class="alert-error alert">
|
4
|
-
<%= @response[:error] %>
|
5
|
-
</div>
|
3
|
+
<div class="alert-error alert"><%= @response[:error] %></div>
|
6
4
|
<% end -%>
|
7
5
|
<% if @response.has_key?(:notice) -%>
|
8
|
-
<div class="alert-success alert">
|
9
|
-
<%= @response[:notice] %>
|
10
|
-
</div>
|
6
|
+
<div class="alert-success alert"><%= @response[:notice] %></div>
|
11
7
|
<% end -%>
|
12
8
|
<% end -%>
|
13
9
|
|
14
|
-
|
10
|
+
<%= form_tag rails_admin.import_url(@abstract_model.to_param), :multipart => true, :class => 'form-horizontal' do |f| -%>
|
11
|
+
<fieldset>
|
12
|
+
<legend>
|
13
|
+
<i class="icon-chevron-down"></i>
|
14
|
+
Fields to import
|
15
|
+
</legend>
|
16
|
+
<div class="control-group">
|
17
|
+
<label class="control-label" data-original-title="Click to reverse selection" onclick="jQuery(this).siblings('.controls').find('input').click()" rel="tooltip">Fields from <%= @abstract_model.to_param %></label>
|
18
|
+
<div class="controls">
|
19
|
+
<ul>
|
20
|
+
<% @abstract_model.model.import_fields.each do |field| -%>
|
21
|
+
<li><%= field %></li>
|
22
|
+
<% end -%>
|
23
|
+
</ul>
|
24
|
+
<p class="help-block">The following fields may be included in the import file.</p>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
<% if @abstract_model.model.belongs_to_fields.any? -%>
|
28
|
+
<div class="control-group">
|
29
|
+
<label class="control-label" data-original-title="Click to reverse selection" onclick="jQuery(this).siblings('.controls').find('input').click()" rel="tooltip">Belongs To Fields</label>
|
30
|
+
<div class="controls">
|
31
|
+
<ul>
|
32
|
+
<% @abstract_model.model.belongs_to_fields.each do |field| -%>
|
33
|
+
<li><a href="<%= url_for(:action => :index, :model_name => field) %>"><%= field.to_s.titleize %></a></li>
|
34
|
+
<% end -%>
|
35
|
+
</ul>
|
36
|
+
<p class="help-block">These fields map to other items in the database, lookup via attribute selected below.</p>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
<% end -%>
|
40
|
+
<% if @abstract_model.model.file_fields.any? -%>
|
41
|
+
<div class="control-group">
|
42
|
+
<label class="control-label" data-original-title="Click to reverse selection" onclick="jQuery(this).siblings('.controls').find('input').click()" rel="tooltip">Belongs To Fields</label>
|
43
|
+
<div class="controls">
|
44
|
+
<ul>
|
45
|
+
<% @abstract_model.model.file_fields.each do |field| -%>
|
46
|
+
<li><%= field %></li>
|
47
|
+
<% end -%>
|
48
|
+
</ul>
|
49
|
+
<p class="help-block">These must be a downloadable URL.</p>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
<% end -%>
|
53
|
+
<% if @abstract_model.model.many_fields.any? -%>
|
54
|
+
<div class="control-group">
|
55
|
+
<label class="control-label" data-original-title="Click to reverse selection" onclick="jQuery(this).siblings('.controls').find('input').click()" rel="tooltip">Belongs To Fields</label>
|
56
|
+
<div class="controls">
|
57
|
+
<ul>
|
58
|
+
<% @abstract_model.model.many_fields.each do |field| -%>
|
59
|
+
<li><%= field %></li>
|
60
|
+
<% end -%>
|
61
|
+
</ul>
|
62
|
+
<p class="help-block">These fields map to other columns in the database, lookup via attribute selected below. There may be multiple columns with this header in the spreadsheet.</p>
|
63
|
+
</div>
|
64
|
+
</div>
|
65
|
+
<% end -%>
|
66
|
+
<% if RailsAdminImport.config(@abstract_model.model).extra_fields.any? -%>
|
67
|
+
<div class="control-group">
|
68
|
+
<label class="control-label" data-original-title="Click to reverse selection" onclick="jQuery(this).siblings('.controls').find('input').click()" rel="tooltip">Belongs To Fields</label>
|
69
|
+
<div class="controls">
|
70
|
+
<ul>
|
71
|
+
<% RailsAdminImport.config(@abstract_model.model).extra_fields.each do |field| -%>
|
72
|
+
<li><%= field %></li>
|
73
|
+
<% end -%>
|
74
|
+
</ul>
|
75
|
+
<p class="help-block">Additional application specific fields.</p>
|
76
|
+
</div>
|
77
|
+
</div>
|
78
|
+
<% end -%>
|
79
|
+
</fieldset>
|
80
|
+
<fieldset>
|
81
|
+
<legend>
|
82
|
+
<i class="icon-chevron-down"></i>
|
83
|
+
Upload file
|
84
|
+
</legend>
|
85
|
+
<div class="control-group">
|
86
|
+
<label class="control-label" data-original-title="Click to reverse selection" onclick="jQuery(this).siblings('.controls').find('input').click()" rel="tooltip">File</label>
|
87
|
+
<div class="controls">
|
88
|
+
<%= file_field_tag :file %>
|
89
|
+
<p class="help-block">Please limit upload file to <%= RailsAdminImport.config.line_item_limit %> line items.</p>
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
<div class="control-group">
|
93
|
+
<label class="control-label" data-original-title="Click to reverse selection" onclick="jQuery(this).siblings('.controls').find('input').click()" rel="tooltip">Update if exists</label>
|
94
|
+
<div class="controls">
|
95
|
+
<label class="checkbox">
|
96
|
+
<%= check_box_tag :update_if_exists %>
|
97
|
+
</label>
|
98
|
+
</div>
|
99
|
+
</div>
|
100
|
+
<div class="control-group">
|
101
|
+
<label class="control-label" data-original-title="Click to reverse selection" onclick="jQuery(this).siblings('.controls').find('input').click()" rel="tooltip">Update lookup field</label>
|
102
|
+
<div class="controls">
|
103
|
+
<select name="update_lookup">
|
104
|
+
<% @abstract_model.model.new.attributes.keys.each do |key| -%>
|
105
|
+
<option value="<%= key %>"><%= key %></option>
|
106
|
+
<% end -%>
|
107
|
+
</select>
|
108
|
+
</div>
|
109
|
+
</div>
|
15
110
|
|
16
|
-
|
17
|
-
|
18
|
-
<
|
19
|
-
<
|
20
|
-
<
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
</
|
26
|
-
|
27
|
-
|
28
|
-
<%
|
29
|
-
<
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
<% end -%>
|
35
|
-
</
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
<
|
43
|
-
<
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
</ul>
|
48
|
-
<small>These must be a downloadable URL.</small>
|
49
|
-
</td>
|
50
|
-
<% end -%>
|
51
|
-
|
52
|
-
<% if @abstract_model.model.many_fields.any? -%>
|
53
|
-
<td width="20%" valign="top">
|
54
|
-
<h3>Multiple Fields</h3>
|
55
|
-
<ul>
|
56
|
-
<% @abstract_model.model.many_fields.each do |field| -%>
|
57
|
-
<li><%= field %></li>
|
58
|
-
<% end -%>
|
59
|
-
</ul>
|
60
|
-
<small>These fields map to other columns in the database, lookup via attribute selected below. There may be multiple columns with this header in the spreadsheet.</small>
|
61
|
-
</td>
|
62
|
-
<% end -%>
|
63
|
-
|
64
|
-
<% if RailsAdminImport.config(@abstract_model.model).extra_fields.any? -%>
|
65
|
-
<td width="20%" valign="top">
|
66
|
-
<h3>Extra Fields</h3>
|
67
|
-
<ul>
|
68
|
-
<% RailsAdminImport.config(@abstract_model.model).extra_fields.each do |field| -%>
|
69
|
-
<li><%= field %></li>
|
70
|
-
<% end -%>
|
71
|
-
</ul>
|
72
|
-
<small>Additional application specific fields.</small>
|
73
|
-
</td>
|
74
|
-
<% end -%>
|
75
|
-
</tr>
|
76
|
-
</table>
|
77
|
-
|
78
|
-
<%= form_tag rails_admin.import_url(@abstract_model.to_param), :multipart => true do |f| -%>
|
79
|
-
<h5 style="color:red;">Please limit upload file to <%= RailsAdminImport.config.line_item_limit %> line items.</h5>
|
80
|
-
<%= file_field_tag :file %>
|
81
|
-
<p>
|
82
|
-
<%= check_box_tag :update_if_exists %> Update if Exists<br />
|
83
|
-
Update lookup field
|
84
|
-
<select name="update_lookup">
|
85
|
-
<% @abstract_model.model.new.attributes.keys.each do |key| -%>
|
86
|
-
<option value="<%= key %>"><%= key %></option>
|
87
|
-
<% end -%>
|
88
|
-
</select>
|
89
|
-
</p>
|
90
|
-
|
91
|
-
<% [@abstract_model.model.belongs_to_fields, @abstract_model.model.many_fields].flatten.each do |field| -%>
|
92
|
-
<div style="display:inline-block; width: 45%;background:#cecece;margin: 5px;padding: 5px;">
|
93
|
-
<label style="width:200px;"><%= field %> mapping</label>
|
94
|
-
<select name="<%= field %>">
|
95
|
-
<% field.to_s.classify.constantize.new.attributes.keys.each do |key| -%>
|
96
|
-
<option value="<%= key %>"><%= key %></option>
|
97
|
-
<% end -%>
|
98
|
-
<select>
|
111
|
+
</fieldset>
|
112
|
+
<% if @abstract_model.model.belongs_to_fields.any? -%>
|
113
|
+
<fieldset>
|
114
|
+
<legend>
|
115
|
+
<i class="icon-chevron-down"></i>
|
116
|
+
Related fields mapping
|
117
|
+
</legend>
|
118
|
+
<% [@abstract_model.model.belongs_to_fields, @abstract_model.model.many_fields].flatten.each do |field| -%>
|
119
|
+
<div class="control-group">
|
120
|
+
<label class="control-label" for="csv_options_encoding_to"><a href="<%= url_for(:action => :index, :model_name => field) %>"><%= field.to_s.titleize %></a> mapping</label>
|
121
|
+
<div class="controls">
|
122
|
+
<select name="<%= field %>">
|
123
|
+
<% field.to_s.classify.constantize.new.attributes.keys.each do |key| -%>
|
124
|
+
<option value="<%= key %>"><%= key %></option>
|
125
|
+
<% end -%>
|
126
|
+
</select>
|
127
|
+
</div>
|
128
|
+
</div>
|
129
|
+
<% end -%>
|
130
|
+
</fieldset>
|
131
|
+
<% end -%>
|
132
|
+
<div class="form-actions">
|
133
|
+
<button class="btn btn-primary" name="commit" type="submit" data-disable-with="Uploading...">
|
134
|
+
<i class="icon-white icon-ok"></i>
|
135
|
+
Import
|
136
|
+
</button>
|
137
|
+
<button class="btn" name="_continue" type="submit">
|
138
|
+
<i class="icon-remove"></i>
|
139
|
+
Cancel
|
140
|
+
</button>
|
141
|
+
<!--<%= submit_tag "Upload", :disable_with => "Uploading..." %>-->
|
99
142
|
</div>
|
100
|
-
<% end -%><br />
|
101
|
-
<%= submit_tag "Upload", :disable_with => "Uploading..." %>
|
102
143
|
<% end -%>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'open-uri'
|
2
|
+
require "rails_admin_import/import_logger"
|
2
3
|
|
3
4
|
module RailsAdminImport
|
4
5
|
module Import
|
@@ -61,13 +62,13 @@ module RailsAdminImport
|
|
61
62
|
|
62
63
|
if RailsAdminImport.config.logging
|
63
64
|
FileUtils.copy(params[:file].tempfile, "#{Rails.root}/log/import/#{Time.now.strftime("%Y-%m-%d-%H-%M-%S")}-import.csv")
|
64
|
-
logger = Logger.new("#{Rails.root}/log/import/import.log")
|
65
65
|
end
|
66
66
|
|
67
|
-
text
|
68
|
-
clean
|
67
|
+
text = File.read(params[:file].tempfile)
|
68
|
+
clean = text.force_encoding('BINARY').encode('UTF-8', :undef => :replace, :replace => '').gsub(/\n$/, '')
|
69
69
|
file_check = CSV.new(clean)
|
70
|
-
|
70
|
+
logger = ImportLogger.new
|
71
|
+
|
71
72
|
if file_check.readlines.size > RailsAdminImport.config.line_item_limit
|
72
73
|
return results = { :success => [], :error => ["Please limit upload file to #{RailsAdminImport.config.line_item_limit} line items."] }
|
73
74
|
end
|
@@ -109,18 +110,19 @@ module RailsAdminImport
|
|
109
110
|
object.before_import_save(row, map)
|
110
111
|
|
111
112
|
object.import_files(row, map)
|
112
|
-
|
113
|
+
|
113
114
|
verb = object.new_record? ? "Create" : "Update"
|
114
115
|
if object.errors.empty?
|
115
116
|
if object.save
|
116
|
-
logger.info "#{Time.now.to_s}: #{verb}d: #{object.send(label_method)}"
|
117
|
+
logger.info "#{Time.now.to_s}: #{verb}d: #{object.send(label_method)}"
|
117
118
|
results[:success] << "#{verb}d: #{object.send(label_method)}"
|
119
|
+
object.after_import_save(row, map)
|
118
120
|
else
|
119
|
-
logger.info "#{Time.now.to_s}: Failed to #{verb}: #{object.send(label_method)}. Errors: #{object.errors.full_messages.join(', ')}."
|
121
|
+
logger.info "#{Time.now.to_s}: Failed to #{verb}: #{object.send(label_method)}. Errors: #{object.errors.full_messages.join(', ')}."
|
120
122
|
results[:error] << "Failed to #{verb}: #{object.send(label_method)}. Errors: #{object.errors.full_messages.join(', ')}."
|
121
123
|
end
|
122
124
|
else
|
123
|
-
logger.info "#{Time.now.to_s}: Errors before save: #{object.send(label_method)}. Errors: #{object.errors.full_messages.join(', ')}."
|
125
|
+
logger.info "#{Time.now.to_s}: Errors before save: #{object.send(label_method)}. Errors: #{object.errors.full_messages.join(', ')}."
|
124
126
|
results[:error] << "Errors before save: #{object.send(label_method)}. Errors: #{object.errors.full_messages.join(', ')}."
|
125
127
|
end
|
126
128
|
end
|
@@ -158,6 +160,10 @@ module RailsAdminImport
|
|
158
160
|
# Meant to be overridden to do special actions
|
159
161
|
end
|
160
162
|
|
163
|
+
def after_import_save(*args)
|
164
|
+
# Meant to be overridden to do special actions
|
165
|
+
end
|
166
|
+
|
161
167
|
def import_display
|
162
168
|
self.id
|
163
169
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module RailsAdminImport
|
2
|
+
class ImportLogger
|
3
|
+
attr_reader :logger
|
4
|
+
|
5
|
+
def initialize(log_file_name = 'rails_admin_import.log')
|
6
|
+
@logger = Logger.new("#{Rails.root}/log/#{log_file_name}") if RailsAdminImport.config.logging
|
7
|
+
end
|
8
|
+
|
9
|
+
def info(message)
|
10
|
+
@logger.info message if RailsAdminImport.config.logging
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
data/lib/rails_admin_import.rb
CHANGED
@@ -5,11 +5,11 @@ require "rails_admin_import/config"
|
|
5
5
|
module RailsAdminImport
|
6
6
|
def self.config(entity = nil, &block)
|
7
7
|
if entity
|
8
|
-
|
8
|
+
RailsAdminImport::Config.model(entity, &block)
|
9
9
|
elsif block_given? && ENV['SKIP_RAILS_ADMIN_INITIALIZER'] != "true"
|
10
10
|
block.call(RailsAdminImport::Config)
|
11
|
-
|
12
|
-
|
11
|
+
else
|
12
|
+
RailsAdminImport::Config
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
metadata
CHANGED
@@ -1,23 +1,25 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_admin_import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.9
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Steph Skardal
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-05-22 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description:
|
15
14
|
email: steph@endpoint.com
|
16
15
|
executables: []
|
17
16
|
extensions: []
|
18
|
-
extra_rdoc_files:
|
19
|
-
- README.md
|
17
|
+
extra_rdoc_files: []
|
20
18
|
files:
|
19
|
+
- MIT-LICENSE
|
20
|
+
- README.md
|
21
|
+
- RELEASE_NOTES
|
22
|
+
- Rakefile
|
21
23
|
- app/views/rails_admin/main/import.html.erb
|
22
24
|
- config/locales/import.en.yml
|
23
25
|
- lib/rails_admin_import.rb
|
@@ -26,30 +28,29 @@ files:
|
|
26
28
|
- lib/rails_admin_import/config/model.rb
|
27
29
|
- lib/rails_admin_import/engine.rb
|
28
30
|
- lib/rails_admin_import/import.rb
|
31
|
+
- lib/rails_admin_import/import_logger.rb
|
29
32
|
- lib/rails_admin_import/version.rb
|
30
|
-
- README.md
|
31
33
|
homepage:
|
32
34
|
licenses: []
|
35
|
+
metadata: {}
|
33
36
|
post_install_message:
|
34
37
|
rdoc_options: []
|
35
38
|
require_paths:
|
36
39
|
- lib
|
37
40
|
required_ruby_version: !ruby/object:Gem::Requirement
|
38
|
-
none: false
|
39
41
|
requirements:
|
40
|
-
- -
|
42
|
+
- - ">="
|
41
43
|
- !ruby/object:Gem::Version
|
42
44
|
version: '0'
|
43
45
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
46
|
requirements:
|
46
|
-
- -
|
47
|
+
- - ">="
|
47
48
|
- !ruby/object:Gem::Version
|
48
49
|
version: '0'
|
49
50
|
requirements: []
|
50
51
|
rubyforge_project:
|
51
|
-
rubygems_version:
|
52
|
+
rubygems_version: 2.2.2
|
52
53
|
signing_key:
|
53
|
-
specification_version:
|
54
|
+
specification_version: 4
|
54
55
|
summary: Import functionality for rails admin
|
55
56
|
test_files: []
|