unleash 5.0.5 → 5.0.6

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: 18d3ceb8b2115e259e3fb2ae66643dafea5009826a25be644ab4c98406b8ef30
4
- data.tar.gz: 3c22aed38cc800658d422dd41edfd103728e0ebf749110bf510a46259d3c2312
3
+ metadata.gz: 74e9c5a359ff227eb38895c4e4aba2a1381177699adef2f7eb5135876e3fb509
4
+ data.tar.gz: 456a0f728a052436af9067882a25b382bd0ba50cd59d0a19a7fabd9f24a39f58
5
5
  SHA512:
6
- metadata.gz: 98a67cbdcee3d72d1aaaf5f54581875c122e58fb3dbd248bbc5c9ab0e7c55f7352dd732b12293a594412f2484535084410984b975400d991dd5b96ce02084a22
7
- data.tar.gz: a5551b86fc70c7dd6c1b80b8bb7e643524a42dc25220ca962628407a351a6886b95d7115fd77f901ed876033f131d8a112fcbb5a42dfbfa788224867b5d6bc26
6
+ metadata.gz: c61fe8c3ce1770faa3b6e41bd47b3842a0bebdb8b542837632427d5e2503dad1f9841a8662453bf47e478c88a77dc0c7d3ee104ae72642c78e502dfb7299487b
7
+ data.tar.gz: fdee14ca6cb2450382feb8cf947db7728f7119478b03a9e980707eccec5b1e1423c7d6bf4def1deafcfc26dcc23f45fbfa0017d86beb2c305437c736802ccc36
@@ -22,6 +22,8 @@ module Unleash
22
22
  FALLBACK_VALIDATOR: ->(_context_v, _constraint_v){ false }
23
23
  }.freeze
24
24
 
25
+ STRING_OPERATORS = [:STR_STARTS_WITH, :STR_ENDS_WITH, :STR_CONTAINS].freeze
26
+
25
27
  LIST_OPERATORS = [:IN, :NOT_IN, :STR_STARTS_WITH, :STR_ENDS_WITH, :STR_CONTAINS].freeze
26
28
 
27
29
  def initialize(context_name, operator, value = [], inverted: false, case_insensitive: false)
@@ -106,10 +108,10 @@ module Unleash
106
108
  v = self.value.dup
107
109
  context_value = context.get_by_name(self.context_name)
108
110
 
109
- v.map!(&:upcase) if self.case_insensitive
110
- context_value = context_value.upcase if self.case_insensitive
111
+ # always return false, if we are comparing a non string with a string operator:
112
+ return false if !context_value.is_a?(String) && STRING_OPERATORS.include?(self.operator)
111
113
 
112
- OPERATORS[self.operator].call(context_value, v)
114
+ OPERATORS[self.operator].call(*self.case_insensitive ? [context_value.upcase, v.map(&:upcase)] : [context_value, v])
113
115
  end
114
116
  end
115
117
  end
@@ -1,3 +1,3 @@
1
1
  module Unleash
2
- VERSION = "5.0.5".freeze
2
+ VERSION = "5.0.6".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unleash
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.5
4
+ version: 5.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Renato Arruda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-31 00:00:00.000000000 Z
11
+ date: 2024-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: murmurhash3