acts_as_importable 0.4.2 → 0.4.4
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.
- data/Rakefile +8 -0
- data/VERSION +1 -1
- data/acts_as_importable.gemspec +4 -4
- data/lib/acts_as_importable.rb +0 -1
- data/lib/import_export.rb +4 -6
- data/lib/import_export/controller_methods.rb +1 -2
- data/lib/import_export/csv.rb +10 -0
- metadata +26 -58
data/Rakefile
CHANGED
@@ -9,6 +9,14 @@ rescue Bundler::BundlerError => e
|
|
9
9
|
end
|
10
10
|
require 'rake'
|
11
11
|
|
12
|
+
task :default => :test
|
13
|
+
|
14
|
+
task :test do
|
15
|
+
Bundler.with_clean_env do
|
16
|
+
system "cd test/test_acts_as_importable && bundle exec rake"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
12
20
|
require 'jeweler'
|
13
21
|
Jeweler::Tasks.new do |gem|
|
14
22
|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.4
|
data/acts_as_importable.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{acts_as_importable}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jagdeep Singh"]
|
12
|
-
s.date = %q{2011-01
|
12
|
+
s.date = %q{2011-03-01}
|
13
13
|
s.description = %q{Use this gem to add import/export to .csv functionality to your activerecord models}
|
14
14
|
s.email = %q{jagdeepkh@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
|
|
27
27
|
"lib/acts_as_importable.rb",
|
28
28
|
"lib/import_export.rb",
|
29
29
|
"lib/import_export/controller_methods.rb",
|
30
|
+
"lib/import_export/csv.rb",
|
30
31
|
"lib/import_export/routing.rb",
|
31
32
|
"lib/tasks/import_export.rake",
|
32
33
|
"views/import_export/import.html.erb"
|
@@ -34,11 +35,10 @@ Gem::Specification.new do |s|
|
|
34
35
|
s.homepage = %q{https://github.com/Ennova/acts_as_importable}
|
35
36
|
s.licenses = ["MIT"]
|
36
37
|
s.require_paths = ["lib"]
|
37
|
-
s.rubygems_version = %q{1.3
|
38
|
+
s.rubygems_version = %q{1.5.3}
|
38
39
|
s.summary = %q{Makes your model importable from .csv and exportable to .csv}
|
39
40
|
|
40
41
|
if s.respond_to? :specification_version then
|
41
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
42
42
|
s.specification_version = 3
|
43
43
|
|
44
44
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
data/lib/acts_as_importable.rb
CHANGED
data/lib/import_export.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'import_export/csv'
|
2
|
+
|
1
3
|
# ImportExport
|
2
4
|
module ImportExport
|
3
5
|
module ModelMethods
|
@@ -58,7 +60,7 @@ module ModelMethods
|
|
58
60
|
|
59
61
|
def export
|
60
62
|
export_fields = self.import_fields || self.export_fields
|
61
|
-
|
63
|
+
ImportExport::CSV.generate do |csv|
|
62
64
|
csv << export_fields.map{|f| f.split('.')[0]}
|
63
65
|
|
64
66
|
self.find_each(:batch_size => 2000) do |element|
|
@@ -94,11 +96,7 @@ module ModelMethods
|
|
94
96
|
|
95
97
|
def read_csv(filename)
|
96
98
|
if File.exist?(filename)
|
97
|
-
|
98
|
-
collection = FasterCSV.parse(File.open(filename, 'rb'))
|
99
|
-
rescue FasterCSV::MalformedCSVError => e
|
100
|
-
raise e
|
101
|
-
end
|
99
|
+
collection = ImportExport::CSV.parse(File.open(filename, 'rb'))
|
102
100
|
|
103
101
|
collection = collection.map{|w| w} unless collection.nil?
|
104
102
|
collection = [] if collection.nil?
|
@@ -48,9 +48,8 @@ module ImportExport
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def upload
|
51
|
-
require 'ftools'
|
52
51
|
if params[:csv_file] && File.extname(params[:csv_file].original_filename) == '.csv'
|
53
|
-
|
52
|
+
FileUtils.makedirs "#{UPLOADS_PATH}"
|
54
53
|
File.open(upload_file_name, "wb") { |f| f.write(params[:csv_file].read)}
|
55
54
|
else
|
56
55
|
flash[:error] = "Error! Invalid file, please select a csv file."
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_importable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 4
|
9
|
-
- 2
|
10
|
-
version: 0.4.2
|
4
|
+
prerelease:
|
5
|
+
version: 0.4.4
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Jagdeep Singh
|
@@ -15,89 +10,64 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-01
|
13
|
+
date: 2011-03-01 00:00:00 +10:00
|
19
14
|
default_executable:
|
20
15
|
dependencies:
|
21
16
|
- !ruby/object:Gem::Dependency
|
22
|
-
prerelease: false
|
23
|
-
type: :runtime
|
24
17
|
name: activerecord
|
25
|
-
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
19
|
none: false
|
27
20
|
requirements:
|
28
21
|
- - ~>
|
29
22
|
- !ruby/object:Gem::Version
|
30
|
-
hash: 1
|
31
|
-
segments:
|
32
|
-
- 3
|
33
|
-
- 0
|
34
|
-
- 3
|
35
23
|
version: 3.0.3
|
36
|
-
requirement: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
prerelease: false
|
39
24
|
type: :runtime
|
25
|
+
prerelease: false
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
40
28
|
name: actionpack
|
41
|
-
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
42
30
|
none: false
|
43
31
|
requirements:
|
44
32
|
- - ~>
|
45
33
|
- !ruby/object:Gem::Version
|
46
|
-
hash: 1
|
47
|
-
segments:
|
48
|
-
- 3
|
49
|
-
- 0
|
50
|
-
- 3
|
51
34
|
version: 3.0.3
|
52
|
-
requirement: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
prerelease: false
|
55
35
|
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
56
39
|
name: fastercsv
|
57
|
-
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
58
41
|
none: false
|
59
42
|
requirements:
|
60
43
|
- - ~>
|
61
44
|
- !ruby/object:Gem::Version
|
62
|
-
hash: 5
|
63
|
-
segments:
|
64
|
-
- 1
|
65
|
-
- 5
|
66
|
-
- 3
|
67
45
|
version: 1.5.3
|
68
|
-
|
69
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
type: :runtime
|
70
47
|
prerelease: false
|
71
|
-
|
48
|
+
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
72
50
|
name: bundler
|
73
|
-
|
51
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
74
52
|
none: false
|
75
53
|
requirements:
|
76
54
|
- - ~>
|
77
55
|
- !ruby/object:Gem::Version
|
78
|
-
hash: 23
|
79
|
-
segments:
|
80
|
-
- 1
|
81
|
-
- 0
|
82
|
-
- 0
|
83
56
|
version: 1.0.0
|
84
|
-
requirement: *id004
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
prerelease: false
|
87
57
|
type: :development
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: *id004
|
60
|
+
- !ruby/object:Gem::Dependency
|
88
61
|
name: jeweler
|
89
|
-
|
62
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
90
63
|
none: false
|
91
64
|
requirements:
|
92
65
|
- - ~>
|
93
66
|
- !ruby/object:Gem::Version
|
94
|
-
hash: 7
|
95
|
-
segments:
|
96
|
-
- 1
|
97
|
-
- 5
|
98
|
-
- 2
|
99
67
|
version: 1.5.2
|
100
|
-
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: *id005
|
101
71
|
description: Use this gem to add import/export to .csv functionality to your activerecord models
|
102
72
|
email: jagdeepkh@gmail.com
|
103
73
|
executables: []
|
@@ -118,6 +88,7 @@ files:
|
|
118
88
|
- lib/acts_as_importable.rb
|
119
89
|
- lib/import_export.rb
|
120
90
|
- lib/import_export/controller_methods.rb
|
91
|
+
- lib/import_export/csv.rb
|
121
92
|
- lib/import_export/routing.rb
|
122
93
|
- lib/tasks/import_export.rake
|
123
94
|
- views/import_export/import.html.erb
|
@@ -135,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
135
106
|
requirements:
|
136
107
|
- - ">="
|
137
108
|
- !ruby/object:Gem::Version
|
138
|
-
hash:
|
109
|
+
hash: 985417010415812691
|
139
110
|
segments:
|
140
111
|
- 0
|
141
112
|
version: "0"
|
@@ -144,14 +115,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
115
|
requirements:
|
145
116
|
- - ">="
|
146
117
|
- !ruby/object:Gem::Version
|
147
|
-
hash: 3
|
148
|
-
segments:
|
149
|
-
- 0
|
150
118
|
version: "0"
|
151
119
|
requirements: []
|
152
120
|
|
153
121
|
rubyforge_project:
|
154
|
-
rubygems_version: 1.3
|
122
|
+
rubygems_version: 1.5.3
|
155
123
|
signing_key:
|
156
124
|
specification_version: 3
|
157
125
|
summary: Makes your model importable from .csv and exportable to .csv
|