json_logic 0.4.4 → 0.4.5

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
- 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