csv_magic 0.2.4 → 0.3.0

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.
@@ -4,7 +4,7 @@ rvm:
4
4
  - 1.9.3
5
5
  branches:
6
6
  only:
7
- - 2.0-stable
7
+ - master
8
8
  before_script:
9
- - "sh -c 'cd spec/dummy; RAILS_ENV=test bundle exec rake db:setup'"
9
+ - "sh -c 'cd spec/dummy && RAILS_ENV=test bundle exec rake db:migrate'"
10
10
  script: "bundle exec rspec spec"
data/Gemfile CHANGED
@@ -5,7 +5,9 @@ gemspec
5
5
 
6
6
  group :development do
7
7
  if !ENV["CI"]
8
- gem 'debugger', :platform => :ruby_19
8
+ gem 'ruby-debug-base19', '~> 0.11.26', :platform => :ruby_19
9
+ gem 'linecache19', '~> 0.5.13', :platform => :ruby_19
10
+ gem 'ruby-debug19', '~> 0.11.6', :require => 'ruby-debug', :platform => :ruby_19
9
11
  gem 'ruby-debug', :platform => :ruby_18
10
12
  end
11
13
  end
data/README.md CHANGED
@@ -11,7 +11,7 @@ It includes the complete workflow:
11
11
 
12
12
  ## Requirements
13
13
 
14
- Rails >= 3.1.x and Ruby >= 1.9.x
14
+ Rails >= 3.2.6 and Ruby >= 1.9.x
15
15
 
16
16
  ## Installation
17
17
 
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.test_files = `git ls-files -- {spec}/*`.split("\n")
18
18
  s.require_paths = ["lib"]
19
19
 
20
- s.add_development_dependency 'rails', ['~> 3.1.4']
21
- s.add_development_dependency 'rspec-rails', ["~> 2.8.0"]
22
- s.add_development_dependency 'sqlite3', ["~> 1.3.5"]
20
+ s.add_development_dependency 'rails', ['~> 3.2.6']
21
+ s.add_development_dependency 'rspec-rails'
22
+ s.add_development_dependency 'sqlite3'
23
23
  end
@@ -2,12 +2,14 @@ module CSVMagic
2
2
  module ControllerActions
3
3
 
4
4
  def self.included(base)
5
+ base.send(:class_attribute, :map_fields_options)
5
6
  base.extend(ClassMethods)
6
7
  base.csv_magic_config
7
8
  base.send(:include, I18nHelpers)
8
9
  end
9
10
 
10
11
  module ClassMethods
12
+
11
13
  def csv_magic_config( options = {} )
12
14
  defaults = {
13
15
  :action => :import,
@@ -15,7 +17,7 @@ module CSVMagic
15
17
  :file_field => :file
16
18
  }
17
19
  options = defaults.merge(options)
18
- write_inheritable_attribute(:map_fields_options, options)
20
+ self.map_fields_options = options
19
21
  end
20
22
  end
21
23
 
@@ -63,23 +65,23 @@ module CSVMagic
63
65
  end
64
66
  #no mapping yet
65
67
  else
66
- @mapper = Importer.new(params, self.class.read_inheritable_attribute(:map_fields_options))
68
+ @mapper = Importer.new(params, self.class.map_fields_options)
67
69
  @raw_data = @mapper.raw_data
68
70
  render 'csv_magic/mapper'
69
71
  end
70
72
  rescue MissingFileContentsError
71
- flash[:error] = csv_magic_t(:please_upload_a_csv_file)
73
+ flash[:warning] = csv_magic_t(:please_upload_a_csv_file)
72
74
  render_csv_import_form
73
75
  rescue ::CSV::MalformedCSVError => e
74
- flash[:error] = csv_magic_t(:csv_file_has_wrong_format) % {:error => e.message}
76
+ flash[:warning] = csv_magic_t(:csv_file_has_wrong_format) % {:error => e.message}
75
77
  render_csv_import_form
76
78
  rescue ::Errno::ENOENT
77
- flash[:error] = csv_magic_t(:file_not_on_server_any_more)
79
+ flash[:warning] = csv_magic_t(:file_not_on_server_any_more)
78
80
  render_csv_import_form
79
81
  rescue Exception => e
80
- flash[:error] = "#{e.message[0..100]}..." # Protection from CookieOverflow errors, if large sql queries fail
81
- Rails.logger.error(e.message)
82
- Rails.logger.error(e.backtrace.join("\n"))
82
+ flash[:warning] = e.message
83
+ logger.error(e.message)
84
+ logger.error(e.backtrace.join("\n"))
83
85
  render_csv_import_form
84
86
  end
85
87
 
@@ -1,3 +1,3 @@
1
1
  module CSVMagic
2
- VERSION = "0.2.4"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -1,14 +1,14 @@
1
1
  require "spec_helper"
2
2
 
3
3
  module CSVMagic
4
- describe Importer do
4
+ describe Importer do
5
5
 
6
- describe "raw_data", :type => :request do
7
- it "should return an array from the given csv-file" do
8
- @file = fixture_file_upload('/files/file.csv', 'text/csv')
9
- @importer = Importer.new({:file => @file}, {:file_field => :file})
10
- @importer.raw_data.should == [["Lastname", " Given Name"], ["Doe", " John"], ["Mustermann", " Max"]]
11
- end
12
- end
13
- end
6
+ describe "raw_data", :type => :request do
7
+ it "should return an array from the given csv-file" do
8
+ @file = fixture_file_upload(File.join(File.dirname(__FILE__), 'fixtures/files/file.csv'), 'text/csv')
9
+ @importer = Importer.new({:file => @file}, {:file_field => :file})
10
+ @importer.raw_data.should == [["Lastname", " Given Name"], ["Doe", " John"], ["Mustermann", " Max"]]
11
+ end
12
+ end
13
+ end
14
14
  end
@@ -12,7 +12,7 @@ describe "Controller#import action." do
12
12
  describe "Sending a post request" do
13
13
 
14
14
  before(:each) do
15
- @file = fixture_file_upload('/files/file.csv', 'text/csv')
15
+ @file = fixture_file_upload(File.join(File.dirname(__FILE__), '..', 'fixtures/files/file.csv'), 'text/csv')
16
16
  end
17
17
 
18
18
  context "if csv is given in params" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv_magic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-11-06 00:00:00.000000000 Z
13
+ date: 2012-06-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -19,7 +19,7 @@ dependencies:
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 3.1.4
22
+ version: 3.2.6
23
23
  type: :development
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,39 +27,39 @@ dependencies:
27
27
  requirements:
28
28
  - - ~>
29
29
  - !ruby/object:Gem::Version
30
- version: 3.1.4
30
+ version: 3.2.6
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: rspec-rails
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  none: false
35
35
  requirements:
36
- - - ~>
36
+ - - ! '>='
37
37
  - !ruby/object:Gem::Version
38
- version: 2.8.0
38
+ version: '0'
39
39
  type: :development
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
- - - ~>
44
+ - - ! '>='
45
45
  - !ruby/object:Gem::Version
46
- version: 2.8.0
46
+ version: '0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sqlite3
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
- - - ~>
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
- version: 1.3.5
54
+ version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  none: false
59
59
  requirements:
60
- - - ~>
60
+ - - ! '>='
61
61
  - !ruby/object:Gem::Version
62
- version: 1.3.5
62
+ version: '0'
63
63
  description: Provides controller actions, views and field mapping for data from a
64
64
  csv file.
65
65
  email:
@@ -154,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  version: '0'
155
155
  segments:
156
156
  - 0
157
- hash: -907811590562575980
157
+ hash: -2326911074991617375
158
158
  requirements: []
159
159
  rubyforge_project: csv_magic
160
160
  rubygems_version: 1.8.24