active_importer 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -61,13 +61,24 @@ module ActiveImporter
61
61
  end
62
62
 
63
63
  def fire_event(event, param = nil)
64
- self.class.event_handlers[event].each do |block|
65
- self.instance_exec(param, &block)
64
+ self.class.send(:fire_event, self, event, param)
65
+ unless self.class == ActiveImporter::Base
66
+ self.class.superclass.send(:fire_event, self, event, param)
67
+ end
68
+ end
69
+
70
+ def self.fire_event(instance, event, param = nil)
71
+ event_handlers[event].each do |block|
72
+ instance.instance_exec(param, &block)
66
73
  end
67
74
  end
68
75
 
69
76
  private :fire_event
70
77
 
78
+ class << self
79
+ private :fire_event
80
+ end
81
+
71
82
  #
72
83
  # Implementation
73
84
  #
@@ -1,3 +1,3 @@
1
1
  module ActiveImporter
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -31,6 +31,7 @@ describe ActiveImporter::Base do
31
31
  expect(EmployeeImporter).to receive(:new).once.and_return(importer)
32
32
  expect(importer).to receive(:import_started).once
33
33
  expect(importer).to receive(:import_finished).once
34
+ expect(importer).to receive(:base_import_finished).once
34
35
  EmployeeImporter.import('/dummy/file')
35
36
  end
36
37
 
@@ -9,7 +9,16 @@ class Employee < DataModel
9
9
  end
10
10
  end
11
11
 
12
- class EmployeeImporter < ActiveImporter::Base
12
+ class EmployeeBaseImporter < ActiveImporter::Base
13
+ on(:import_finished) { base_import_finished }
14
+
15
+ private
16
+
17
+ def base_import_finished
18
+ end
19
+ end
20
+
21
+ class EmployeeImporter < EmployeeBaseImporter
13
22
  imports Employee
14
23
 
15
24
  column 'Name', :name
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_importer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -112,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
112
112
  version: '0'
113
113
  segments:
114
114
  - 0
115
- hash: -645039623466056614
115
+ hash: -839045621640734141
116
116
  required_rubygems_version: !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  version: '0'
122
122
  segments:
123
123
  - 0
124
- hash: -645039623466056614
124
+ hash: -839045621640734141
125
125
  requirements: []
126
126
  rubyforge_project:
127
127
  rubygems_version: 1.8.23