assimilate 0.1.0 → 0.1.1
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/assimilate/batch.rb +10 -4
- data/lib/assimilate/version.rb +1 -1
- data/spec/lib/extend_spec.rb +2 -4
- metadata +14 -14
data/lib/assimilate/batch.rb
CHANGED
@@ -30,8 +30,11 @@ class Assimilate::Batch
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
+
# The stripped record contains only the data values from the source (no internal values with leading underscores).
|
34
|
+
# Any nil values are ignored; these should not be stored but if they do appear in the catalog then don't want
|
35
|
+
# to include them when comparing new records vs. old.
|
33
36
|
def stripped_record_for(key)
|
34
|
-
@baseline[key] && @baseline[key].select {|k,v| k !~ /^_/}
|
37
|
+
@baseline[key] && @baseline[key].select {|k,v| k !~ /^_/ && !v.nil?}
|
35
38
|
end
|
36
39
|
|
37
40
|
def <<(record)
|
@@ -100,11 +103,14 @@ class Assimilate::Batch
|
|
100
103
|
end
|
101
104
|
|
102
105
|
def record_batch
|
103
|
-
|
104
|
-
|
106
|
+
# don't want leading underscore on attributes in the batches table
|
107
|
+
dkey = @domainkey.gsub(/^_/,'')
|
108
|
+
|
109
|
+
raise(Assimilate::DuplicateImportError, "duplicate batch for datestamp #{datestamp}") if @catalog.batches.find(dkey => @domain, 'datestamp' => @datestamp).to_a.any?
|
110
|
+
raise(Assimilate::DuplicateImportError, "duplicate batch for file #{@filename}") if @catalog.batches.find(dkey => @domain, 'filename' => @filename).to_a.any?
|
105
111
|
|
106
112
|
@catalog.batches.insert({
|
107
|
-
|
113
|
+
dkey => @domain,
|
108
114
|
'datestamp' => @datestamp,
|
109
115
|
'filename' => @filename
|
110
116
|
})
|
data/lib/assimilate/version.rb
CHANGED
data/spec/lib/extend_spec.rb
CHANGED
@@ -16,8 +16,7 @@ describe "loading extended data" do
|
|
16
16
|
def import_base_data(datestamp, filename = "batch_input.csv")
|
17
17
|
@batcher = @catalog.start_batch(domain: 'testdata', datestamp: datestamp, idfield: 'ID')
|
18
18
|
|
19
|
-
|
20
|
-
@records.each do |rec|
|
19
|
+
Assimilate.slurp(File.dirname(__FILE__) + "/../data/#{filename}") do |rec|
|
21
20
|
@batcher << rec
|
22
21
|
end
|
23
22
|
@batcher.commit
|
@@ -31,8 +30,7 @@ describe "loading extended data" do
|
|
31
30
|
|
32
31
|
def import_extended_data(datestamp, filename)
|
33
32
|
@extender = @catalog.extend_data(domain: 'testdata', datastamp: datestamp, idfield: 'ID', key: 'inauguration')
|
34
|
-
|
35
|
-
@records.each do |rec|
|
33
|
+
Assimilate.slurp(File.dirname(__FILE__) + "/../data/#{filename}") do |rec|
|
36
34
|
@extender << rec
|
37
35
|
end
|
38
36
|
@extender.commit
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assimilate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
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-05-
|
12
|
+
date: 2012-05-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mongo
|
16
|
-
requirement: &
|
16
|
+
requirement: &2155898600 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.6.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2155898600
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bson_ext
|
27
|
-
requirement: &
|
27
|
+
requirement: &2155897820 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.6.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2155897820
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: activesupport
|
38
|
-
requirement: &
|
38
|
+
requirement: &2155897040 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 3.2.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2155897040
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &2155896200 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.9.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2155896200
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: guard-rspec
|
60
|
-
requirement: &
|
60
|
+
requirement: &2155895320 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 0.7.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2155895320
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: ruby_gntp
|
71
|
-
requirement: &
|
71
|
+
requirement: &2155894100 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: 0.3.4
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2155894100
|
80
80
|
description: Ingest updates from CSV and apply to set of hashes
|
81
81
|
email:
|
82
82
|
- jmay@pobox.com
|