json_logic 0.4.4 → 0.4.5
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 +5 -5
- data/.travis.yml +2 -2
- data/LICENSE.txt +1 -1
- data/json_logic.gemspec +4 -2
- data/lib/core_ext/deep_fetch.rb +2 -0
- data/lib/json_logic.rb +16 -0
- data/lib/json_logic/version.rb +1 -1
- metadata +20 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 689e4ea07b1913b6aa4c0a916a1aa8728f1fbc62da40cd80c6589b13569ed2f9
|
4
|
+
data.tar.gz: 72800b336f3535ca0b8ad3c9cb13e450202f09d0903a71662aeca18a710c4bef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc83264e4d7b7d8b65db5ac560a5924e6ab4bc3006cfc181293e5a9e5880134476b00ca2f153454806592ea5323d536b1e76c53284d2be27ca63c8cd918453f9
|
7
|
+
data.tar.gz: 1c2d312cb8b97cb44c054d747bf7bd756c162093494ec733c38db46ac2ea17148a7fd831ede0eb3a2fe5bf6366f024fcd765d459ebe40ac765316a22d65a6229
|
data/.travis.yml
CHANGED
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2016 Kenneth Geerts
|
3
|
+
Copyright (c) 2016 Kenneth Geerts, Jordan Prince
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/json_logic.gemspec
CHANGED
@@ -18,10 +18,12 @@ Gem::Specification.new do |spec|
|
|
18
18
|
end
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.required_ruby_version = '>= 2.
|
21
|
+
spec.required_ruby_version = '>= 2.2'
|
22
22
|
|
23
|
-
spec.add_development_dependency 'bundler', '~> 1
|
23
|
+
spec.add_development_dependency 'bundler', '~> 2.0.1'
|
24
24
|
spec.add_development_dependency 'rake', '~> 10.0'
|
25
25
|
spec.add_development_dependency 'minitest', '~> 5.0'
|
26
|
+
spec.add_development_dependency 'byebug'
|
26
27
|
spec.add_development_dependency 'pry'
|
28
|
+
spec.add_runtime_dependency 'backport_dig' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3')
|
27
29
|
end
|
data/lib/core_ext/deep_fetch.rb
CHANGED
data/lib/json_logic.rb
CHANGED
@@ -16,6 +16,22 @@ module JSONLogic
|
|
16
16
|
Operation.perform(operator, values, data || {})
|
17
17
|
end
|
18
18
|
|
19
|
+
def self.uses_data(logic)
|
20
|
+
collection = []
|
21
|
+
|
22
|
+
operator, values = logic.first
|
23
|
+
values = [values] unless values.is_a?(Array)
|
24
|
+
if operator == 'var'
|
25
|
+
collection.append(values[0])
|
26
|
+
else
|
27
|
+
values.each { |val|
|
28
|
+
collection.concat(uses_data(val))
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
return collection.uniq
|
33
|
+
end
|
34
|
+
|
19
35
|
def self.filter(logic, data)
|
20
36
|
data.select { |d| apply(logic, d) }
|
21
37
|
end
|
data/lib/json_logic/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: json_logic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenneth Geerts
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-11-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 2.0.1
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: 2.0.1
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '5.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: byebug
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
71
|
name: pry
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -104,15 +118,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
104
118
|
requirements:
|
105
119
|
- - ">="
|
106
120
|
- !ruby/object:Gem::Version
|
107
|
-
version: '2.
|
121
|
+
version: '2.2'
|
108
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
123
|
requirements:
|
110
124
|
- - ">="
|
111
125
|
- !ruby/object:Gem::Version
|
112
126
|
version: '0'
|
113
127
|
requirements: []
|
114
|
-
|
115
|
-
rubygems_version: 2.6.14
|
128
|
+
rubygems_version: 3.0.1
|
116
129
|
signing_key:
|
117
130
|
specification_version: 4
|
118
131
|
summary: Build complex rules, serialize them as JSON, and execute them in ruby
|