importable 0.0.3 → 0.0.4

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