validator_fn 0.4.0 → 0.5.0

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
  SHA256:
3
- metadata.gz: 1ae4f194cce16e854dccde3dc29e7d382084289945402ded960414d94dc7630f
4
- data.tar.gz: 7a19354da9723c01d81d79540a358dad546a2611b7893399ea38b09025d83f0e
3
+ metadata.gz: 1748730b9f3adb3a7388282d193b000ba67f97f5f418aa306c699eb546bcfa03
4
+ data.tar.gz: a3625b480793914edb326fadd3640ec2e607dd3dc6e443f4ec3460bdb2c39a36
5
5
  SHA512:
6
- metadata.gz: 452a5fa550d3c5c9948099e1c9e2e840dd800bed22a0b8b777a81c824cdc04d0ea11f496d601fb61b750542585e96741f55292c5bbdf078e499f73b15a961c5b
7
- data.tar.gz: c2d9d6f854407f958024efe80095490ff7d1c890ee4421f02fc5e26ee44a766c26c3e496bc996fecbe1ec4140f97e3e9a9465df6ef14faf69035ba3a1ab569dd
6
+ metadata.gz: d8a1749eb560ed5935b879faac3437912bb7ef618b35bc5ea54d1f15664ec7eba6006b6c7a10099eae0014dc84844b433e648d7dece870cadca44122db03760c
7
+ data.tar.gz: fa5a2b780de8ea3ef0982c3f5107ddabc194d71d058ca24025bb2d62b3c9fdbe9fe8b4089d7711007ec41e5f3445b67255b718677788c589f9bedcd4d5d55ae9
data/README.md CHANGED
@@ -97,7 +97,7 @@ This makes it very useful for processing JSON payloads.
97
97
  You can generate validator code from existing structure:
98
98
 
99
99
  ```ruby
100
- require 'openuri'
100
+ require 'open-uri'
101
101
  require "json"
102
102
  struct = JSON.parse(URI.open("https://api.github.com/users/defunkt").read)
103
103
 
@@ -1,3 +1,3 @@
1
1
  module ValidatorFn
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
data/lib/validator_fn.rb CHANGED
@@ -4,7 +4,7 @@ require "fn_reader"
4
4
 
5
5
  module ValidatorFn
6
6
  fn_reader :something, :matches, :either, :array_of, :any, :is_nil,
7
- :maybe, :present, :is_a, :is_a_bool, :int, :hash_of, :invalid, :generate_validator, :handle_error, :error_str, :apply
7
+ :maybe, :present, :is_a, :is_a_bool, :int, :hash_of, :invalid, :generate_validator, :handle_error, :error_str, :apply, :enum_of
8
8
 
9
9
  @@apply = ->fn, a {
10
10
  begin
@@ -24,6 +24,10 @@ module ValidatorFn
24
24
  end
25
25
  value
26
26
  }.curry
27
+ @@enum_of = ->enum, a {
28
+ raise Error.new("Should be in #{enum.join(",")}") unless enum.include?(a)
29
+ a
30
+ }.curry
27
31
  @@array_of = ->fn, array {
28
32
  is_a.(Array).(array)
29
33
  array.each_with_index.map do |a, idx|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validator_fn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Chabot
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-04 00:00:00.000000000 Z
11
+ date: 2025-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fn_reader
@@ -67,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  requirements: []
70
- rubygems_version: 3.4.12
70
+ rubygems_version: 3.3.22
71
71
  signing_key:
72
72
  specification_version: 4
73
73
  summary: Series of lambdas for validating Ruby structures