mushy 0.15.0 → 0.15.1

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
  SHA256:
3
- metadata.gz: 343c94c36c757047fef709db0c64a473801d54fe39ba456cf9b0e6957d7430f5
4
- data.tar.gz: 0f05e6fa5fc57a3b4fde460f9985be9dfb70c908ee64bee0a6172303a2ceec46
3
+ metadata.gz: 4c7413fc5021f3f75a4bc76d587e8cf608cf16d39c91bab9caf3916d0eebcc97
4
+ data.tar.gz: c4480bd98782f580b3949e4f956c9aab3cce8387ccf923a284ae4b113e316bab
5
5
  SHA512:
6
- metadata.gz: 10ca18bbbc7208c522314fa5ded9ce6ac6d0a892f2883ab582fb8b8ed7d462bdb958117a68dc23bf92390e81339642730086f72fd20b71cce78e14a4f3c5b875
7
- data.tar.gz: bdbf5771353c39233d4107d1292ca51d5eec4a52ed849e592d7a9554acf7d5c3614b2bb58196edf185bd8e1df27dc12d2b69f94aad5a607345a49343a7488308
6
+ metadata.gz: 0e9a557ea1b36bd47af03d8b392d2f74e7ad2eefa7c83fa3a81130e8cb5b5bda8be8750bdb649bd8b1ead65cb295ed9d45ce6fe0a89c419d3073e68d9e242b4b
7
+ data.tar.gz: bb0f6fc0ac8d21049841d27ffa991a39ad3328c16313799926d25a0b6b1646c12705bc5e4206afce2e5c12b4badb42b6ea969fe7ac20842bce1aed5bd88af986
@@ -21,13 +21,27 @@ module Mushy
21
21
  type: 'keyvalue',
22
22
  value: {},
23
23
  },
24
+ contains: {
25
+ description: 'Provide key/value pairs that must be contained.',
26
+ shrink: true,
27
+ label: 'Contains',
28
+ type: 'keyvalue',
29
+ value: {},
30
+ },
31
+ notcontains: {
32
+ description: 'Provide key/value pairs that must NOT be contained.',
33
+ shrink: true,
34
+ label: 'Not Contains',
35
+ type: 'keyvalue',
36
+ value: {},
37
+ },
24
38
  },
25
39
  }
26
40
  end
27
41
 
28
42
  def process event, config
29
43
 
30
- differences = [:equal, :notequal]
44
+ differences = [:equal, :notequal, :contains, :notcontains]
31
45
  .select { |x| config[x].is_a? Hash }
32
46
  .map { |x| config[x].map { |k, v| { m: x, k: k, v1: v } } }
33
47
  .flatten
@@ -42,7 +56,7 @@ module Mushy
42
56
  def equal a, b
43
57
  [a, b]
44
58
  .map { |x| numeric?(x) ? x.to_f : x }
45
- .map { |x| x.to_s.strip.downcase }
59
+ .map { |x| nice_string x }
46
60
  .group_by { |x| x }
47
61
  .count == 1
48
62
  end
@@ -51,10 +65,23 @@ module Mushy
51
65
  equal(a, b) == false
52
66
  end
53
67
 
68
+ def contains a, b
69
+ return false unless b
70
+ nice_string(b).include? a.downcase
71
+ end
72
+
73
+ def notcontains a, b
74
+ contains(a, b) == false
75
+ end
76
+
54
77
  def numeric? value
55
78
  Float(value) != nil rescue false
56
79
  end
57
80
 
81
+ def nice_string value
82
+ value.to_s.strip.downcase
83
+ end
84
+
58
85
  end
59
86
 
60
87
  end
data/mushy.gemspec CHANGED
@@ -4,7 +4,7 @@ require 'mushy/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'mushy'
7
- s.version = '0.15.0'
7
+ s.version = '0.15.1'
8
8
  s.date = '2020-11-23'
9
9
  s.summary = 'Process streams of work using common modules.'
10
10
  s.description = 'This tool assists in the creation and processing of workflows.'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mushy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darren Cauthon