importable 0.0.3 → 0.0.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.
Files changed (37) hide show
  1. data/README.md +5 -0
  2. data/lib/importable/mapper.rb +9 -1
  3. data/lib/importable/uploader.rb +1 -1
  4. data/lib/importable/version.rb +1 -1
  5. data/spec/dummy/db/test.sqlite3 +0 -0
  6. data/spec/dummy/log/test.log +781 -0
  7. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3595/foo_single_worksheet.xlsx +0 -0
  8. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3596/foo_multi_worksheet.xlsx +0 -0
  9. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3598/foo_multi_worksheet.xlsx +0 -0
  10. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3599/foo_multi_worksheet.xlsx +0 -0
  11. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3600/foo_multi_worksheet.xlsx +0 -0
  12. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3601/foo_multi_worksheet.xlsx +0 -0
  13. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3602/foo_multi_worksheet.xlsx +0 -0
  14. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3603/foo_multi_worksheet.xlsx +0 -0
  15. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3604/foo_multi_worksheet.xlsx +0 -0
  16. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3605/foo_multi_worksheet.xlsx +0 -0
  17. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3606/foo_multi_worksheet.xlsx +0 -0
  18. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3607/foo_multi_worksheet.xlsx +0 -0
  19. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3608/foo_multi_worksheet.xlsx +0 -0
  20. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3609/foo_multi_worksheet.xlsx +0 -0
  21. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3610/foo_multi_worksheet.xlsx +0 -0
  22. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3611/foo_multi_worksheet.xlsx +0 -0
  23. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3612/foo_multi_worksheet.xlsx +0 -0
  24. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3613/foo_multi_worksheet.xlsx +0 -0
  25. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3614/foo_single_worksheet.xlsx +0 -0
  26. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3615/foo_multi_worksheet.xlsx +0 -0
  27. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3616/foo_multi_worksheet.xlsx +0 -0
  28. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3617/foo_multi_worksheet.xlsx +0 -0
  29. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3618/foo_multi_worksheet.xlsx +0 -0
  30. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3619/foo_multi_worksheet.xlsx +0 -0
  31. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3620/foo_multi_worksheet.xlsx +0 -0
  32. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3621/foo_multi_worksheet.xlsx +0 -0
  33. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3622/foo_multi_worksheet.xlsx +0 -0
  34. data/spec/dummy/tmp/uploads/importable/spreadsheet/file/foo_required_field/3597/foo_multi_worksheet_required_field_invalid.xlsx +0 -0
  35. data/spec/lib/mapper_spec.rb +25 -0
  36. metadata +84 -30
  37. data/spec/dummy/tmp/pids/server.pid +0 -1
@@ -1,12 +1,23 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  class FooMultiObjectMapper < Importable::Mapper
4
+ attr_accessor :before_callback_called
5
+ attr_accessor :after_callback_called
6
+
4
7
  def map_row(row)
5
8
  [
6
9
  Foo.create!(row),
7
10
  Foo.create!(row)
8
11
  ]
9
12
  end
13
+
14
+ def before_mapping
15
+ @before_callback_called = true
16
+ end
17
+
18
+ def after_mapping
19
+ @before_callback_called = true
20
+ end
10
21
  end
11
22
 
12
23
  module Importable
@@ -48,6 +59,20 @@ module Importable
48
59
  mapper.data.should have_exactly(6).items
49
60
  end
50
61
 
62
+ it "should call the before mapping callback" do
63
+ FooMultiObjectMapper.any_instance.expects(:before_mapping)
64
+
65
+ mapper = FooMultiObjectMapper.new(data)
66
+ mapper.before_callback_called.should be_true
67
+ end
68
+
69
+ it "should call the after mapping callback" do
70
+ FooMultiObjectMapper.any_instance.expects(:after_mapping)
71
+
72
+ mapper = FooMultiObjectMapper.new(data)
73
+ mapper.before_callback_called.should be_true
74
+ end
75
+
51
76
  it "saves three Foo objects using the FooMapper" do
52
77
  expect {
53
78
  FooMapper.new(data)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: importable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-22 00:00:00.000000000Z
12
+ date: 2011-09-23 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &2157055740 !ruby/object:Gem::Requirement
16
+ requirement: &2153822320 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2157055740
24
+ version_requirements: *2153822320
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: carrierwave
27
- requirement: &2157055320 !ruby/object:Gem::Requirement
27
+ requirement: &2153821900 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2157055320
35
+ version_requirements: *2153821900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: roo
38
- requirement: &2157054860 !ruby/object:Gem::Requirement
38
+ requirement: &2153821440 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2157054860
46
+ version_requirements: *2153821440
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rubyzip2
49
- requirement: &2157054440 !ruby/object:Gem::Requirement
49
+ requirement: &2153821020 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2157054440
57
+ version_requirements: *2153821020
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: spreadsheet
60
- requirement: &2157054000 !ruby/object:Gem::Requirement
60
+ requirement: &2153820600 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *2157054000
68
+ version_requirements: *2153820600
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: google-spreadsheet-ruby
71
- requirement: &2157053580 !ruby/object:Gem::Requirement
71
+ requirement: &2153820160 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *2157053580
79
+ version_requirements: *2153820160
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: sqlite3
82
- requirement: &2157053160 !ruby/object:Gem::Requirement
82
+ requirement: &2153819740 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2157053160
90
+ version_requirements: *2153819740
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rspec-rails
93
- requirement: &2157052740 !ruby/object:Gem::Requirement
93
+ requirement: &2153819320 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *2157052740
101
+ version_requirements: *2153819320
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: capybara
104
- requirement: &2157052320 !ruby/object:Gem::Requirement
104
+ requirement: &2153818900 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *2157052320
112
+ version_requirements: *2153818900
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: launchy
115
- requirement: &2157051900 !ruby/object:Gem::Requirement
115
+ requirement: &2153818480 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *2157051900
123
+ version_requirements: *2153818480
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: spork
126
- requirement: &2157051480 !ruby/object:Gem::Requirement
126
+ requirement: &2153818060 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *2157051480
134
+ version_requirements: *2153818060
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: mocha
137
- requirement: &2157051060 !ruby/object:Gem::Requirement
137
+ requirement: &2153817640 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,7 +142,7 @@ dependencies:
142
142
  version: '0'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *2157051060
145
+ version_requirements: *2153817640
146
146
  description: Import spreadsheets and map data to rails models, easily.
147
147
  email:
148
148
  - mikebannister@gmail.com
@@ -288,7 +288,34 @@ files:
288
288
  - spec/dummy/tmp/capybara/capybara-201109221830324604052538.html
289
289
  - spec/dummy/tmp/capybara/capybara-201109221834592325415121.html
290
290
  - spec/dummy/tmp/capybara/capybara-201109221835582061029143.html
291
- - spec/dummy/tmp/pids/server.pid
291
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3595/foo_single_worksheet.xlsx
292
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3596/foo_multi_worksheet.xlsx
293
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3598/foo_multi_worksheet.xlsx
294
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3599/foo_multi_worksheet.xlsx
295
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3600/foo_multi_worksheet.xlsx
296
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3601/foo_multi_worksheet.xlsx
297
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3602/foo_multi_worksheet.xlsx
298
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3603/foo_multi_worksheet.xlsx
299
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3604/foo_multi_worksheet.xlsx
300
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3605/foo_multi_worksheet.xlsx
301
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3606/foo_multi_worksheet.xlsx
302
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3607/foo_multi_worksheet.xlsx
303
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3608/foo_multi_worksheet.xlsx
304
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3609/foo_multi_worksheet.xlsx
305
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3610/foo_multi_worksheet.xlsx
306
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3611/foo_multi_worksheet.xlsx
307
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3612/foo_multi_worksheet.xlsx
308
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3613/foo_multi_worksheet.xlsx
309
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3614/foo_single_worksheet.xlsx
310
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3615/foo_multi_worksheet.xlsx
311
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3616/foo_multi_worksheet.xlsx
312
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3617/foo_multi_worksheet.xlsx
313
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3618/foo_multi_worksheet.xlsx
314
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3619/foo_multi_worksheet.xlsx
315
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3620/foo_multi_worksheet.xlsx
316
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3621/foo_multi_worksheet.xlsx
317
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3622/foo_multi_worksheet.xlsx
318
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo_required_field/3597/foo_multi_worksheet_required_field_invalid.xlsx
292
319
  - spec/dummy/uploads/importable/spreadsheet/file/foo/1/foo_single_worksheet.xlsx
293
320
  - spec/dummy/uploads/importable/spreadsheet/file/foo/10/foo_multi_worksheet.xlsx
294
321
  - spec/dummy/uploads/importable/spreadsheet/file/foo/100/foo_multi_worksheet.xlsx
@@ -4456,7 +4483,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
4456
4483
  version: '0'
4457
4484
  segments:
4458
4485
  - 0
4459
- hash: 2412407754662658096
4486
+ hash: -816875674097236995
4460
4487
  required_rubygems_version: !ruby/object:Gem::Requirement
4461
4488
  none: false
4462
4489
  requirements:
@@ -4465,7 +4492,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
4465
4492
  version: '0'
4466
4493
  segments:
4467
4494
  - 0
4468
- hash: 2412407754662658096
4495
+ hash: -816875674097236995
4469
4496
  requirements: []
4470
4497
  rubyforge_project:
4471
4498
  rubygems_version: 1.8.8
@@ -4578,7 +4605,34 @@ test_files:
4578
4605
  - spec/dummy/tmp/capybara/capybara-201109221830324604052538.html
4579
4606
  - spec/dummy/tmp/capybara/capybara-201109221834592325415121.html
4580
4607
  - spec/dummy/tmp/capybara/capybara-201109221835582061029143.html
4581
- - spec/dummy/tmp/pids/server.pid
4608
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3595/foo_single_worksheet.xlsx
4609
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3596/foo_multi_worksheet.xlsx
4610
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3598/foo_multi_worksheet.xlsx
4611
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3599/foo_multi_worksheet.xlsx
4612
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3600/foo_multi_worksheet.xlsx
4613
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3601/foo_multi_worksheet.xlsx
4614
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3602/foo_multi_worksheet.xlsx
4615
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3603/foo_multi_worksheet.xlsx
4616
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3604/foo_multi_worksheet.xlsx
4617
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3605/foo_multi_worksheet.xlsx
4618
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3606/foo_multi_worksheet.xlsx
4619
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3607/foo_multi_worksheet.xlsx
4620
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3608/foo_multi_worksheet.xlsx
4621
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3609/foo_multi_worksheet.xlsx
4622
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3610/foo_multi_worksheet.xlsx
4623
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3611/foo_multi_worksheet.xlsx
4624
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3612/foo_multi_worksheet.xlsx
4625
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3613/foo_multi_worksheet.xlsx
4626
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3614/foo_single_worksheet.xlsx
4627
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3615/foo_multi_worksheet.xlsx
4628
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3616/foo_multi_worksheet.xlsx
4629
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3617/foo_multi_worksheet.xlsx
4630
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3618/foo_multi_worksheet.xlsx
4631
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3619/foo_multi_worksheet.xlsx
4632
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3620/foo_multi_worksheet.xlsx
4633
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3621/foo_multi_worksheet.xlsx
4634
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo/3622/foo_multi_worksheet.xlsx
4635
+ - spec/dummy/tmp/uploads/importable/spreadsheet/file/foo_required_field/3597/foo_multi_worksheet_required_field_invalid.xlsx
4582
4636
  - spec/dummy/uploads/importable/spreadsheet/file/foo/1/foo_single_worksheet.xlsx
4583
4637
  - spec/dummy/uploads/importable/spreadsheet/file/foo/10/foo_multi_worksheet.xlsx
4584
4638
  - spec/dummy/uploads/importable/spreadsheet/file/foo/100/foo_multi_worksheet.xlsx
@@ -1 +0,0 @@
1
- 12704