acts_as_importable 0.4.2 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
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