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 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