datafile 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/datafile/builder.rb +10 -0
- data/lib/datafile/builder2.rb +1 -1
- data/lib/datafile/datafile.rb +26 -1
- data/lib/datafile/version.rb +1 -1
- data/lib/datafile/workers/file/worker.rb +10 -0
- data/lib/datafile/workers/zip/worker.rb +9 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d39f9bca67fd30470e40bd1b4985594eb2697326
|
4
|
+
data.tar.gz: 6e9fd82ae31c9507194dfd61e9d8112f66fdf0ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 799c1587b0fea635d95d3cd28c0ed4fe0b6bfbdfbecf7b4805c126daded83e79791bdffc859adccb5c6321ccb4d336999ea915d9f2781ee4bd54cf14ff6fb6a3
|
7
|
+
data.tar.gz: ff6a33747c7ee59fd3bc6d41b1aa277b36982f4e14a5df9fa802f86b270d6bd366e914dfa9c36001a982e5e2cbd8d3a329e0ad7a3bc37a1f440ac6e7efdc318c
|
data/lib/datafile/builder.rb
CHANGED
@@ -24,6 +24,16 @@ class Builder ## "simple" builder (one file, one datafile)
|
|
24
24
|
|
25
25
|
attr_reader :datafile
|
26
26
|
|
27
|
+
## "special" datasets
|
28
|
+
|
29
|
+
def inline( &block )
|
30
|
+
logger.info( "[builder] add inline script-block" )
|
31
|
+
@datafile.inlines << Inline.new( block )
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
## "classic" standard datasets
|
36
|
+
|
27
37
|
def beer( name, opts={} )
|
28
38
|
logger.info( "[builder] add beer-dataset '#{name}'" )
|
29
39
|
@datafile.datasets << BeerDataset.new( name, opts )
|
data/lib/datafile/builder2.rb
CHANGED
data/lib/datafile/datafile.rb
CHANGED
@@ -20,6 +20,29 @@ class Script
|
|
20
20
|
end ## class Script
|
21
21
|
|
22
22
|
|
23
|
+
### todo/check: use Script for Inline too?? - why, why not???
|
24
|
+
### - use setup/pre/before and post/after or something??
|
25
|
+
## - note: for now always is pre/before
|
26
|
+
|
27
|
+
class Inline
|
28
|
+
include LogUtils::Logging
|
29
|
+
|
30
|
+
def initialize( proc )
|
31
|
+
@proc = proc
|
32
|
+
end
|
33
|
+
|
34
|
+
def call
|
35
|
+
logger.info( "[inline] calling script block" )
|
36
|
+
@proc.call
|
37
|
+
end
|
38
|
+
|
39
|
+
def dump
|
40
|
+
puts " script: #{@proc.inspect}"
|
41
|
+
end
|
42
|
+
end ## class Inline
|
43
|
+
|
44
|
+
|
45
|
+
|
23
46
|
class Datafile
|
24
47
|
|
25
48
|
## convenience method - use like Datafile.load_file()
|
@@ -45,6 +68,7 @@ class Datafile
|
|
45
68
|
@opts = opts
|
46
69
|
@datasets = []
|
47
70
|
@scripts = [] ## calculation scripts (calc blocks)
|
71
|
+
@inlines = [] ## inline (setup) scripts (run before reading datasets)
|
48
72
|
|
49
73
|
## (target)name - return nil if noname (set/defined/assigned)
|
50
74
|
@name = opts[:name] || nil
|
@@ -61,6 +85,7 @@ class Datafile
|
|
61
85
|
|
62
86
|
attr_reader :datasets
|
63
87
|
attr_reader :scripts ## calc(ulation) scripts (calc blocks)
|
88
|
+
attr_reader :inlines ## inline script blocks -- use before?? run before datasets
|
64
89
|
attr_reader :name
|
65
90
|
attr_reader :deps ## dep(endencies)
|
66
91
|
|
@@ -70,7 +95,7 @@ class Datafile
|
|
70
95
|
def run
|
71
96
|
logger.info( "[datafile] begin - run" )
|
72
97
|
download # step 1 - download zips for datasets
|
73
|
-
read # step 2 - read in datasets from zips
|
98
|
+
read # step 2 - read in datasets from zips - note: includes running inlines
|
74
99
|
calc # step 3 - run calc(ulations) scripts
|
75
100
|
logger.info( "[datafile] end - run" )
|
76
101
|
end
|
data/lib/datafile/version.rb
CHANGED
@@ -15,6 +15,11 @@ class FileWorker ## check: rename to FileDatafileWorker?? or FileDatafile -wh
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def read
|
18
|
+
## note: also run inlines (setup script) before
|
19
|
+
@datafile.inlines.each do |inline|
|
20
|
+
inline.call
|
21
|
+
end
|
22
|
+
|
18
23
|
@datafile.datasets.each do |dataset|
|
19
24
|
dataset.file_worker.read
|
20
25
|
end
|
@@ -27,6 +32,11 @@ class FileWorker ## check: rename to FileDatafileWorker?? or FileDatafile -wh
|
|
27
32
|
end
|
28
33
|
|
29
34
|
def dump
|
35
|
+
## also dump inlines
|
36
|
+
@datafile.inlines.each do |inline|
|
37
|
+
inline.dump
|
38
|
+
end
|
39
|
+
|
30
40
|
@datafile.datasets.each do |dataset|
|
31
41
|
dataset.file_worker.dump
|
32
42
|
end
|
@@ -17,6 +17,11 @@ class ZipWorker ## check: rename to ZipDatafileWorker?? or ZipDatafile -why,
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def read
|
20
|
+
## note: also run inlines (setup script) before
|
21
|
+
@datafile.inlines.each do |inline|
|
22
|
+
inline.call
|
23
|
+
end
|
24
|
+
|
20
25
|
@datafile.datasets.each do |dataset|
|
21
26
|
dataset.zip_worker.read
|
22
27
|
end
|
@@ -29,6 +34,10 @@ class ZipWorker ## check: rename to ZipDatafileWorker?? or ZipDatafile -why,
|
|
29
34
|
end
|
30
35
|
|
31
36
|
def dump
|
37
|
+
## also dump inlines
|
38
|
+
@datafile.inlines.each do |inline|
|
39
|
+
inline.dump
|
40
|
+
end
|
32
41
|
@datafile.datasets.each do |dataset|
|
33
42
|
dataset.zip_worker.dump
|
34
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datafile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logutils
|