drudgery 0.0.1 → 0.0.2
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.
- data/lib/drudgery/job.rb +10 -2
- data/lib/drudgery/version.rb +1 -1
- data/spec/drudgery/job_spec.rb +24 -0
- metadata +20 -19
data/lib/drudgery/job.rb
CHANGED
@@ -13,7 +13,11 @@ module Drudgery
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def extract(type, *args)
|
16
|
-
|
16
|
+
extractor = Drudgery::Extractors.instantiate(type, *args)
|
17
|
+
|
18
|
+
yield extractor if block_given?
|
19
|
+
|
20
|
+
@extractor = extractor
|
17
21
|
end
|
18
22
|
|
19
23
|
def transform(&processor)
|
@@ -21,7 +25,11 @@ module Drudgery
|
|
21
25
|
end
|
22
26
|
|
23
27
|
def load(type, *args)
|
24
|
-
|
28
|
+
loader = Drudgery::Loaders.instantiate(type, *args)
|
29
|
+
|
30
|
+
yield loader if block_given?
|
31
|
+
|
32
|
+
@loader = loader
|
25
33
|
end
|
26
34
|
|
27
35
|
def perform
|
data/lib/drudgery/version.rb
CHANGED
data/spec/drudgery/job_spec.rb
CHANGED
@@ -48,6 +48,18 @@ describe Drudgery::Job do
|
|
48
48
|
job.extract(:csv, 'filename.csv', :col_sep => '|')
|
49
49
|
end
|
50
50
|
|
51
|
+
it 'yields extractor if block_given' do
|
52
|
+
extractor = mock
|
53
|
+
extractor.expects(:col_sep).with('|')
|
54
|
+
|
55
|
+
Drudgery::Extractors.stubs(:instantiate).returns(extractor)
|
56
|
+
|
57
|
+
job = Drudgery::Job.new
|
58
|
+
job.extract(:csv, 'filename.csv') do |extractor|
|
59
|
+
extractor.col_sep '|'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
51
63
|
it 'sets extractor' do
|
52
64
|
extractor = mock
|
53
65
|
|
@@ -88,6 +100,18 @@ describe Drudgery::Job do
|
|
88
100
|
job.load(:sqlite3, 'db.sqlite3', 'tablename')
|
89
101
|
end
|
90
102
|
|
103
|
+
it 'yields loader if block_given' do
|
104
|
+
loader = mock
|
105
|
+
loader.expects(:select).with('a', 'b', 'c')
|
106
|
+
|
107
|
+
Drudgery::Loaders.stubs(:instantiate).with(:sqlite3, 'db.sqlite3', 'tablename').returns(loader)
|
108
|
+
|
109
|
+
job = Drudgery::Job.new
|
110
|
+
job.load(:sqlite3, 'db.sqlite3', 'tablename') do |loader|
|
111
|
+
loader.select('a', 'b', 'c')
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
91
115
|
it 'sets extractor' do
|
92
116
|
loader = mock
|
93
117
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drudgery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
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: 2012-04-
|
12
|
+
date: 2012-04-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70334397325460 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70334397325460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &70334397324780 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.1'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70334397324780
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mocha
|
38
|
-
requirement: &
|
38
|
+
requirement: &70334397324280 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0.10'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70334397324280
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: simplecov
|
49
|
-
requirement: &
|
49
|
+
requirement: &70334397323700 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0.6'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70334397323700
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: guard-minitest
|
60
|
-
requirement: &
|
60
|
+
requirement: &70334397323080 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0.5'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70334397323080
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: activerecord
|
71
|
-
requirement: &
|
71
|
+
requirement: &70334397322440 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '3.0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70334397322440
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: activerecord-import
|
82
|
-
requirement: &
|
82
|
+
requirement: &70334397321700 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 0.2.9
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70334397321700
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: sqlite3
|
93
|
-
requirement: &
|
93
|
+
requirement: &70334397321080 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,8 +98,9 @@ dependencies:
|
|
98
98
|
version: '1.3'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
102
|
-
description:
|
101
|
+
version_requirements: *70334397321080
|
102
|
+
description: A simple ETL library that supports CSV, SQLite3, and ActiveRecord sources
|
103
|
+
and destinations.
|
103
104
|
email:
|
104
105
|
- jisraelsen@gmail.com
|
105
106
|
executables: []
|