key-vortex 1.0.0 → 1.1.0

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: ccc7720fa67e489fa24c0158866cfde5be930f1b0f68ccc04b94b77e193b69f1
4
- data.tar.gz: 350476269a57fed2af54c84ccd887d828f0804d287445b1133b67d2a4b66ce7c
3
+ metadata.gz: e5877a12694814ce8bd027d49fb474be43f2a068c4e6ad940d5fb45f5912c571
4
+ data.tar.gz: 4abe9c664263006cc2c894a21fc99b293f477b4e937b52abefdafb1383806ba2
5
5
  SHA512:
6
- metadata.gz: 21a080f1f96c1d2aa6dde92071f3b5df4d73e96d11207a4cca025ad4c01be5f8f93fc4567da53087645c58f3d2d74afbede919e3ef45bc2cc63e3fe85a0341b0
7
- data.tar.gz: 2c73b0c9eeae66681633c15d887c595c86aa468afed4dec676ca5527466908f33e4d084494da2dae682ed87cae82e2255ba82941d303fad57d504836225bea5a
6
+ metadata.gz: 9716fd6dcf8c0219087178a129bea9b65e67f0a03cf7051c38c1c44f7a2a1a5b0606ac822c2a9740c653d7d37ad9c3a5633267d7de07d18c074c65ae9fb15bc7
7
+ data.tar.gz: 74bca86317fcf4ad13a9b91c1c7e3619dcafb6b32a757a13c3a5c70793086a59551ff37a388826e18ce4c16ce7f2ed8fefece0fe55fa96be579842f727608d53
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- key-vortex (1.0.0)
4
+ key-vortex (1.1.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "key_vortex/constraint/base"
4
+
5
+ class KeyVortex
6
+ module Constraint
7
+ # Enforces that strings match the specified pattern. Because
8
+ # regular expressions are too complicated to establish clean
9
+ # bounds, it will not be considered when narrowing based on
10
+ # adapter constraints.
11
+ class Regexp < KeyVortex::Constraint::Base
12
+ # @return [Regexp] The regexp the value must match
13
+ attr_reader :pattern
14
+
15
+ # @param pattern [Regexp] The regexp the value must match
16
+ def initialize(pattern)
17
+ super()
18
+ @pattern = pattern
19
+ end
20
+
21
+ # @return [Symbol] :regexp
22
+ def attribute
23
+ :regexp
24
+ end
25
+
26
+ # @param [any]
27
+ # @return [true] Regular expressions are too flexible, they cannot be compared
28
+ def within?(_)
29
+ true
30
+ end
31
+
32
+ # @param value [String]
33
+ # @return [Boolean] True if pattern =~ value
34
+ def accepts?(value)
35
+ pattern =~ value
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class KeyVortex
4
- VERSION = "1.0.0"
4
+ VERSION = "1.1.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: key-vortex
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lambda Null
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-16 00:00:00.000000000 Z
11
+ date: 2023-10-07 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Defines abstractions that can be built on top of for key/value storage
14
14
  on different technologies (file, s3, sql, redis, etc.)
@@ -40,6 +40,7 @@ files:
40
40
  - lib/key_vortex/constraint/length.rb
41
41
  - lib/key_vortex/constraint/maximum.rb
42
42
  - lib/key_vortex/constraint/minimum.rb
43
+ - lib/key_vortex/constraint/regexp.rb
43
44
  - lib/key_vortex/field.rb
44
45
  - lib/key_vortex/limitation.rb
45
46
  - lib/key_vortex/record.rb
@@ -67,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
67
68
  - !ruby/object:Gem::Version
68
69
  version: '0'
69
70
  requirements: []
70
- rubygems_version: 3.2.33
71
+ rubygems_version: 3.4.1
71
72
  signing_key:
72
73
  specification_version: 4
73
74
  summary: Abstraction for interacting with various record stores