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 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.2
1
+ 0.4.4
@@ -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.2"
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-21}
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.7}
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
@@ -1,6 +1,5 @@
1
1
  require "active_record"
2
2
  require "action_controller"
3
- require "fastercsv"
4
3
 
5
4
  require 'import_export'
6
5
  ActiveRecord::Base.send :include, ImportExport::ModelMethods
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
- FasterCSV.generate do |csv|
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
- begin
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
- File.makedirs "#{UPLOADS_PATH}"
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."
@@ -0,0 +1,10 @@
1
+ module ImportExport
2
+ end
3
+
4
+ if RUBY_VERSION =~ /^1\.8\./
5
+ require 'faster_csv'
6
+ ::ImportExport::CSV = ::FasterCSV
7
+ else
8
+ require 'csv'
9
+ ::ImportExport::CSV = ::CSV
10
+ end
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
- hash: 11
5
- prerelease: false
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-21 00:00:00 +05:30
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
- version_requirements: &id001 !ruby/object:Gem::Requirement
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
- version_requirements: &id002 !ruby/object:Gem::Requirement
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
- version_requirements: &id003 !ruby/object:Gem::Requirement
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
- requirement: *id003
69
- - !ruby/object:Gem::Dependency
46
+ type: :runtime
70
47
  prerelease: false
71
- type: :development
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
72
50
  name: bundler
73
- version_requirements: &id004 !ruby/object:Gem::Requirement
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
- version_requirements: &id005 !ruby/object:Gem::Requirement
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
- requirement: *id005
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: 3
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.7
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