remi 0.2.32 → 0.2.33
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/features/transforms/data_frame_sieve.feature +3 -1
- data/jobs/transforms/data_frame_sieve_job.rb +4 -0
- data/lib/remi/transform.rb +7 -1
- data/lib/remi/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a91453040868eaabb19fb50db4aafa0f0da4a643
|
4
|
+
data.tar.gz: 8530db1145f89b1abcb8450fe8bcb4eb5325409d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 866bd205d40ea549fc8b11fd06d599a54a12bae6cdc3ddbb746c377c5bd17617ddf4eb48b0e88e2869df529eeafe26043b8fba7bbea8641ecc81eb2455b8480f
|
7
|
+
data.tar.gz: fc7906b2ffd875e42519a065a21212237cf48c0ece1a0ad393f58b83a02ea6f40811290e4fc21068a0322d9aa2828d8e0e5ea5bec61cb835ed9602eba0c87a6f
|
data/Gemfile.lock
CHANGED
@@ -18,7 +18,7 @@ Feature: Tests the DataFrameSieve transform
|
|
18
18
|
| Undergrad | NURS | \\nil | intensive |
|
19
19
|
| Undergrad | \\nil | true | intensive |
|
20
20
|
| Undergrad | \\nil | false | base |
|
21
|
-
| Grad | ENG
|
21
|
+
| Grad | /ENG/ | true | intensive | # regex
|
22
22
|
| \\nil | \\nil | \\nil | base |
|
23
23
|
|
24
24
|
And the following example for 'Source Data':
|
@@ -28,6 +28,7 @@ Feature: Tests the DataFrameSieve transform
|
|
28
28
|
| 3 | Grad | CHEM | true |
|
29
29
|
| 4 | Undergrad | NURS | false |
|
30
30
|
| 5 | Unknown | CHEM | true |
|
31
|
+
| 6 | Grad | ENGL | true |
|
31
32
|
|
32
33
|
Then the target should match the example:
|
33
34
|
| id | level | program | contact | group |
|
@@ -36,3 +37,4 @@ Feature: Tests the DataFrameSieve transform
|
|
36
37
|
| 3 | Grad | CHEM | true | base |
|
37
38
|
| 4 | Undergrad | NURS | false | intensive |
|
38
39
|
| 5 | Unknown | CHEM | true | base |
|
40
|
+
| 6 | Grad | ENGL | true | intensive |
|
@@ -22,6 +22,10 @@ class DataFrameSieveJob
|
|
22
22
|
define_target :target_data, Remi::DataTarget::DataFrame
|
23
23
|
|
24
24
|
define_transform :main, sources: :source_data, targets: :target_data do
|
25
|
+
|
26
|
+
# Hack to convert example to regex
|
27
|
+
sieve.df[:program].recode! { |v| (v || '').match(/\A\/.*\/\Z/) ? /#{v[1...-1]}/ : v }
|
28
|
+
|
25
29
|
Remi::SourceToTargetMap.apply(source_data.df, target_data.df) do
|
26
30
|
map source(:level, :program, :contact) .target(:group)
|
27
31
|
.transform(Remi::Transform::DataFrameSieve.new(sieve.df))
|
data/lib/remi/transform.rb
CHANGED
@@ -622,7 +622,13 @@ module Remi
|
|
622
622
|
@sieve_df.each.find do |sieve_row|
|
623
623
|
match_row = true
|
624
624
|
sieve_keys.each_with_index do |key,idx|
|
625
|
-
|
625
|
+
match_value = if sieve_row[key].is_a?(Regexp)
|
626
|
+
!!sieve_row[key].match(values[idx])
|
627
|
+
else
|
628
|
+
sieve_row[key] == values[idx]
|
629
|
+
end
|
630
|
+
|
631
|
+
match_row &&= sieve_row[key].nil? || match_value
|
626
632
|
end
|
627
633
|
match_row
|
628
634
|
end[sieve_result_key]
|
data/lib/remi/version.rb
CHANGED