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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 14a3cdfa5eb94e15d4e3418a1c23b8c7db232136
4
- data.tar.gz: 4827b2b5df6ec9223b883153d189ba342a4e6b40
2
+ SHA256:
3
+ metadata.gz: 689e4ea07b1913b6aa4c0a916a1aa8728f1fbc62da40cd80c6589b13569ed2f9
4
+ data.tar.gz: 72800b336f3535ca0b8ad3c9cb13e450202f09d0903a71662aeca18a710c4bef
5
5
  SHA512:
6
- metadata.gz: c1af158d0dc8dfff83c6f9d5aa91983dee2e209d4f6f2c3ad50e4a344153ceaedb200ef80b485b9e3cde5d4f663d26c4346eacadd5e1969ecf116e5d721e4182
7
- data.tar.gz: 4dde8dfa95473ad8c30fd9943958ebc9b99a6ea5af784735c9a0a34bb115f0c2dfecfedb64c303ed685c8c20ca9fd2ec64d14c99d6e922b1ca8b67f9fa0f6327
6
+ metadata.gz: bc83264e4d7b7d8b65db5ac560a5924e6ab4bc3006cfc181293e5a9e5880134476b00ca2f153454806592ea5323d536b1e76c53284d2be27ca63c8cd918453f9
7
+ data.tar.gz: 1c2d312cb8b97cb44c054d747bf7bd756c162093494ec733c38db46ac2ea17148a7fd831ede0eb3a2fe5bf6366f024fcd765d459ebe40ac765316a22d65a6229
@@ -1,5 +1,5 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.3.1
5
- before_install: gem install bundler -v 1.13.3
4
+ - 2.5.0
5
+ before_install: gem install bundler -v 2.0.1
@@ -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
@@ -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.3'
21
+ spec.required_ruby_version = '>= 2.2'
22
22
 
23
- spec.add_development_dependency 'bundler', '~> 1.13'
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
@@ -1,3 +1,5 @@
1
+ require 'backport_dig' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3')
2
+
1
3
  class Hash
2
4
  def deep_fetch(key, default = nil)
3
5
  keys = key.to_s.split('.')
@@ -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
@@ -1,3 +1,3 @@
1
1
  module JSONLogic
2
- VERSION = '0.4.4'
2
+ VERSION = '0.4.5'
3
3
  end
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
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-04-30 00:00:00.000000000 Z
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: '1.13'
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: '1.13'
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.3'
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
- rubyforge_project:
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