remi 0.2.32 → 0.2.33

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 465e12569ac09f43f5e9f20fcf40ac4ee9f2e14c
4
- data.tar.gz: 2c81e6feda132e5c3bc3aea5259f907a56bf0f6f
3
+ metadata.gz: a91453040868eaabb19fb50db4aafa0f0da4a643
4
+ data.tar.gz: 8530db1145f89b1abcb8450fe8bcb4eb5325409d
5
5
  SHA512:
6
- metadata.gz: 8632e44d75be366bc3323567f597c73b5efb5e88a8fd07f94e1fa69e09a9a9c5b0f021f9f4ac13d7ae94030957f559136dfd09ad6f2626eb92743108f25cf307
7
- data.tar.gz: 8657740cdb339d3bd311ec87d3aab8bbb63e005bd8bf07e5cac565bb7276417940e5885014dc95b8c5e3b6d69412b467cdeb0acff69ab981590cf884faa8948f
6
+ metadata.gz: 866bd205d40ea549fc8b11fd06d599a54a12bae6cdc3ddbb746c377c5bd17617ddf4eb48b0e88e2869df529eeafe26043b8fba7bbea8641ecc81eb2455b8480f
7
+ data.tar.gz: fc7906b2ffd875e42519a065a21212237cf48c0ece1a0ad393f58b83a02ea6f40811290e4fc21068a0322d9aa2828d8e0e5ea5bec61cb835ed9602eba0c87a6f
data/Gemfile.lock CHANGED
@@ -19,7 +19,7 @@ GIT
19
19
  PATH
20
20
  remote: .
21
21
  specs:
22
- remi (0.2.32)
22
+ remi (0.2.33)
23
23
  activesupport (~> 4.2)
24
24
  bond (~> 0.5)
25
25
  cucumber (~> 2.1)
@@ -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 | true | intensive |
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))
@@ -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
- match_row &&= sieve_row[key].nil? || sieve_row[key] == values[idx]
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
@@ -1,3 +1,3 @@
1
1
  module Remi
2
- VERSION = '0.2.32'
2
+ VERSION = '0.2.33'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.32
4
+ version: 0.2.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sterling Paramore