oso-oso 0.27.2 → 0.27.3

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: da399a469c21dd0a204d167b3b6ad6ccf7688b17517d38e8d537702bf3ef5acd
4
- data.tar.gz: 1c1465393516e39339b30430908aa84b3afc4269601b81ad6303da6d85ecd8a5
3
+ metadata.gz: f7d992230292bf72430961dbad9bae7ad4aeeae196ce1aacd7129258c584d9b2
4
+ data.tar.gz: 4df54cb43fed5053cd8cab3fa08348edfbd7647677312473490ff77626afb858
5
5
  SHA512:
6
- metadata.gz: 7e4c13779aacb92f923ddc80d374ede8f6f06972f4faf799cec3329d49d976e6117255bc2838c8dc7c8779245760d5f2e6ed8da15ed9cc90d31bc0b6b69dd3a6
7
- data.tar.gz: 88f5d89a819b23887acd17fb2a61e015417f06e48be8cea3f6ca153de04bc2b43bb3df80cfc4ec2263a520e85d8b0f9e0354cfb8cef8d156148a340765902a4d
6
+ metadata.gz: ee6e3a81baa5069ce4ab9aabbe1bd07c1b18905818af6c197c2733e828d7888dd0fdb48f93f7b3561e7039c987cae813bfc467bbde2a566e0bb392aa381051a1
7
+ data.tar.gz: ed3a2432dfeb6ac046127e789d7b7c56481e7a6cee58c42816c8a386e83b3f07124286b58f41c0aca8223bb0ada08501d18de108bc3e1c2d82df012601498d9f
data/.gitignore CHANGED
@@ -11,3 +11,4 @@ vendor
11
11
 
12
12
  # rspec failure tracking
13
13
  .rspec_status
14
+ ext
data/.rubocop.yml CHANGED
@@ -1,10 +1,50 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.4
2
+ TargetRubyVersion: 2.6
3
3
  Exclude:
4
4
  - "**/*~"
5
5
  - "bin/oso"
6
6
  - "vendor/**/*"
7
7
  NewCops: enable
8
+ SuggestExtensions: false
9
+
8
10
  Naming/FileName:
9
11
  Exclude:
10
12
  - "lib/oso-oso.rb"
13
+
14
+ Layout/EmptyLineBetweenDefs:
15
+ Enabled: false
16
+ Layout/LineContinuationSpacing:
17
+ Enabled: false
18
+
19
+ Gemspec/RequireMFA:
20
+ Enabled: false
21
+ Gemspec/DevelopmentDependencies:
22
+ Enabled: false
23
+
24
+ Lint/ConstantDefinitionInBlock:
25
+ Enabled: false
26
+ Lint/SymbolConversion:
27
+ Enabled: false
28
+ Lint/NonAtomicFileOperation:
29
+ Enabled: false
30
+ Lint/EmptyBlock:
31
+ Enabled: false
32
+ Lint/AmbiguousOperatorPrecedence:
33
+ Enabled: false
34
+
35
+ Style/FetchEnvVar:
36
+ Enabled: false
37
+ Style/RedundantCurrentDirectoryInPath:
38
+ Enabled: false
39
+ Style/QuotedSymbols:
40
+ Enabled: false
41
+ Style/RedundantConstantBase:
42
+ Enabled: false
43
+ Style/RedundantInitialize:
44
+ Enabled: false
45
+ Style/CommentAnnotation:
46
+ Enabled: false
47
+ Style/FileRead:
48
+ Enabled: false
49
+ Style/HashConversion:
50
+ Enabled: false
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.2
data/Gemfile.lock CHANGED
@@ -1,43 +1,55 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oso-oso (0.27.2)
4
+ oso-oso (0.27.3)
5
5
  ffi (~> 1.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (5.2.6)
11
- activesupport (= 5.2.6)
12
- activerecord (5.2.6)
13
- activemodel (= 5.2.6)
14
- activesupport (= 5.2.6)
15
- arel (>= 9.0)
16
- activesupport (5.2.6)
10
+ activemodel (7.1.2)
11
+ activesupport (= 7.1.2)
12
+ activerecord (7.1.2)
13
+ activemodel (= 7.1.2)
14
+ activesupport (= 7.1.2)
15
+ timeout (>= 0.4.0)
16
+ activesupport (7.1.2)
17
+ base64
18
+ bigdecimal
17
19
  concurrent-ruby (~> 1.0, >= 1.0.2)
18
- i18n (>= 0.7, < 2)
19
- minitest (~> 5.1)
20
- tzinfo (~> 1.1)
21
- arel (9.0.0)
20
+ connection_pool (>= 2.2.5)
21
+ drb
22
+ i18n (>= 1.6, < 2)
23
+ minitest (>= 5.1)
24
+ mutex_m
25
+ tzinfo (~> 2.0)
22
26
  ast (2.4.2)
23
27
  backport (1.2.0)
28
+ base64 (0.2.0)
24
29
  benchmark (0.3.0)
30
+ bigdecimal (3.1.4)
25
31
  byebug (11.1.3)
26
32
  coderay (1.1.3)
27
- concurrent-ruby (1.1.9)
28
- diff-lcs (1.4.4)
33
+ concurrent-ruby (1.2.2)
34
+ connection_pool (2.4.1)
35
+ diff-lcs (1.5.0)
36
+ drb (2.2.0)
37
+ ruby2_keywords
29
38
  e2mmap (0.1.0)
30
- ffi (1.15.4)
31
- i18n (1.8.11)
39
+ ffi (1.16.3)
40
+ i18n (1.14.1)
32
41
  concurrent-ruby (~> 1.0)
33
42
  jaro_winkler (1.5.6)
43
+ json (2.7.1)
34
44
  kramdown (2.4.0)
35
45
  rexml
36
46
  kramdown-parser-gfm (1.1.0)
37
47
  kramdown (~> 2.0)
48
+ language_server-protocol (3.17.0.3)
38
49
  method_source (1.0.0)
39
50
  mini_portile2 (2.8.5)
40
- minitest (5.14.4)
51
+ minitest (5.20.0)
52
+ mutex_m (0.2.0)
41
53
  nokogiri (1.15.5)
42
54
  mini_portile2 (~> 2.8.2)
43
55
  racc (~> 1.4)
@@ -45,68 +57,78 @@ GEM
45
57
  racc (~> 1.4)
46
58
  nokogiri (1.15.5-x86_64-linux)
47
59
  racc (~> 1.4)
48
- parallel (1.20.1)
49
- parser (2.7.2.0)
60
+ parallel (1.23.0)
61
+ parser (3.2.2.4)
50
62
  ast (~> 2.4.1)
51
- pry (0.13.1)
63
+ racc
64
+ pry (0.14.2)
52
65
  coderay (~> 1.1)
53
66
  method_source (~> 1.0)
54
- pry-byebug (3.9.0)
67
+ pry-byebug (3.10.1)
55
68
  byebug (~> 11.0)
56
- pry (~> 0.13.0)
69
+ pry (>= 0.13, < 0.15)
57
70
  racc (1.7.3)
58
- rainbow (3.0.0)
71
+ rainbow (3.1.1)
59
72
  rake (12.3.3)
60
- regexp_parser (2.1.1)
73
+ rbs (2.8.4)
74
+ regexp_parser (2.8.3)
61
75
  reverse_markdown (2.1.1)
62
76
  nokogiri
63
- rexml (3.2.5)
64
- rspec (3.10.0)
65
- rspec-core (~> 3.10.0)
66
- rspec-expectations (~> 3.10.0)
67
- rspec-mocks (~> 3.10.0)
68
- rspec-core (3.10.1)
69
- rspec-support (~> 3.10.0)
70
- rspec-expectations (3.10.1)
77
+ rexml (3.2.6)
78
+ rspec (3.12.0)
79
+ rspec-core (~> 3.12.0)
80
+ rspec-expectations (~> 3.12.0)
81
+ rspec-mocks (~> 3.12.0)
82
+ rspec-core (3.12.2)
83
+ rspec-support (~> 3.12.0)
84
+ rspec-expectations (3.12.3)
71
85
  diff-lcs (>= 1.2.0, < 2.0)
72
- rspec-support (~> 3.10.0)
73
- rspec-mocks (3.10.2)
86
+ rspec-support (~> 3.12.0)
87
+ rspec-mocks (3.12.6)
74
88
  diff-lcs (>= 1.2.0, < 2.0)
75
- rspec-support (~> 3.10.0)
76
- rspec-support (3.10.3)
77
- rubocop (0.89.1)
89
+ rspec-support (~> 3.12.0)
90
+ rspec-support (3.12.1)
91
+ rubocop (1.58.0)
92
+ json (~> 2.3)
93
+ language_server-protocol (>= 3.17.0)
78
94
  parallel (~> 1.10)
79
- parser (>= 2.7.1.1)
95
+ parser (>= 3.2.2.4)
80
96
  rainbow (>= 2.2.2, < 4.0)
81
- regexp_parser (>= 1.7)
82
- rexml
83
- rubocop-ast (>= 0.3.0, < 1.0)
97
+ regexp_parser (>= 1.8, < 3.0)
98
+ rexml (>= 3.2.5, < 4.0)
99
+ rubocop-ast (>= 1.30.0, < 2.0)
84
100
  ruby-progressbar (~> 1.7)
85
- unicode-display_width (>= 1.4.0, < 2.0)
86
- rubocop-ast (0.8.0)
87
- parser (>= 2.7.1.5)
88
- ruby-progressbar (1.11.0)
89
- solargraph (0.40.1)
90
- backport (~> 1.1)
101
+ unicode-display_width (>= 2.4.0, < 3.0)
102
+ rubocop-ast (1.30.0)
103
+ parser (>= 3.2.1.0)
104
+ ruby-progressbar (1.13.0)
105
+ ruby2_keywords (0.0.5)
106
+ solargraph (0.49.0)
107
+ backport (~> 1.2)
91
108
  benchmark
92
- bundler (>= 1.17.2)
109
+ bundler (~> 2.0)
110
+ diff-lcs (~> 1.4)
93
111
  e2mmap
94
112
  jaro_winkler (~> 1.5)
95
113
  kramdown (~> 2.3)
96
114
  kramdown-parser-gfm (~> 1.1)
97
- parser (~> 2.3)
98
- reverse_markdown (>= 1.0.5, < 3)
99
- rubocop (>= 0.52)
115
+ parser (~> 3.0)
116
+ rbs (~> 2.0)
117
+ reverse_markdown (~> 2.0)
118
+ rubocop (~> 1.38)
100
119
  thor (~> 1.0)
101
120
  tilt (~> 2.0)
102
121
  yard (~> 0.9, >= 0.9.24)
103
- sqlite3 (1.4.2)
122
+ sqlite3 (1.6.9)
123
+ mini_portile2 (~> 2.8.0)
124
+ sqlite3 (1.6.9-x86_64-darwin)
125
+ sqlite3 (1.6.9-x86_64-linux)
104
126
  thor (1.3.0)
105
- thread_safe (0.3.6)
106
127
  tilt (2.3.0)
107
- tzinfo (1.2.9)
108
- thread_safe (~> 0.1)
109
- unicode-display_width (1.8.0)
128
+ timeout (0.4.1)
129
+ tzinfo (2.0.6)
130
+ concurrent-ruby (~> 1.0)
131
+ unicode-display_width (2.5.0)
110
132
  yard (0.9.34)
111
133
 
112
134
  PLATFORMS
@@ -117,13 +139,13 @@ PLATFORMS
117
139
  DEPENDENCIES
118
140
  activerecord
119
141
  oso-oso!
120
- pry-byebug (~> 3.9.0)
142
+ pry-byebug (~> 3.10.1)
121
143
  rake (~> 12.0)
122
144
  rspec (~> 3.0)
123
- rubocop (~> 0.89.1)
124
- solargraph (~> 0.40.0)
145
+ rubocop (~> 1.58.0)
146
+ solargraph (~> 0.49.0)
125
147
  sqlite3
126
148
  yard (~> 0.9.25)
127
149
 
128
150
  BUNDLED WITH
129
- 2.2.4
151
+ 2.4.22
data/Makefile CHANGED
@@ -1,12 +1,28 @@
1
- .PHONY: rust install test lint typecheck repl
1
+ .PHONY: rust copy_lib install test lint typecheck repl
2
+
3
+ UNAME_S := $(shell uname -s)
4
+ UNAME_M := $(shell uname -m)
2
5
 
3
6
  rust:
4
7
  $(MAKE) -C ../.. rust-build
5
8
 
9
+ copy_lib:
10
+ mkdir -p ext/oso-oso/lib/
11
+ ifeq ($(UNAME_S),Linux)
12
+ ifeq ($(UNAME_M),x86_64)
13
+ cp ../../target/debug/libpolar.so ext/oso-oso/lib/libpolar-x86_64.so
14
+ else
15
+ cp ../../target/debug/libpolar.so ext/oso-oso/lib/libpolar-aarch64.so
16
+ endif
17
+ endif
18
+ ifeq ($(UNAME_S),Darwin)
19
+ cp ../../target/debug/libpolar.dylib ext/oso-oso/lib/
20
+ endif
21
+
6
22
  install:
7
23
  bundle install
8
24
 
9
- test: install rust
25
+ test: install rust copy_lib
10
26
  POLAR_IGNORE_NO_ALLOW_WARNING=1 bundle exec rake spec
11
27
 
12
28
  lint: install
@@ -15,5 +31,5 @@ lint: install
15
31
  typecheck: install
16
32
  bundle exec solargraph typecheck
17
33
 
18
- repl: install rust
34
+ repl: install rust copy_lib
19
35
  bundle exec oso
Binary file
Binary file
Binary file
data/lib/oso/polar/ffi.rb CHANGED
@@ -6,12 +6,17 @@ module Oso
6
6
  module Polar
7
7
  # FFI classes shared between all ffi/*.rb modules
8
8
  module FFI
9
- LIB = "#{::FFI::Platform::LIBPREFIX}polar.#{::FFI::Platform::LIBSUFFIX}"
10
- RELEASE_PATH = File.expand_path(File.join(__dir__, "../../../ext/oso-oso/lib/#{LIB}"))
11
- DEV_PATH = File.expand_path(File.join(__dir__, "../../../../../target/debug/#{LIB}"))
12
- # If the lib exists in the ext/ dir, use it. Otherwise, fall back to
13
- # checking the local Rust target dir.
14
- LIB_PATH = File.file?(RELEASE_PATH) ? RELEASE_PATH : DEV_PATH
9
+ LIB =
10
+ case ::FFI::Platform::OS
11
+ when /darwin/
12
+ 'libpolar.dylib'
13
+ when /windows|cygwin|msys/
14
+ 'polar.dll'
15
+ else
16
+ "libpolar-#{::FFI::Platform::ARCH}.so"
17
+ end
18
+
19
+ LIB_PATH = File.expand_path(File.join(__dir__, "../../../ext/oso-oso/lib/#{LIB}"))
15
20
 
16
21
  # Wrapper classes defined upfront to fix Ruby loading issues. Actual
17
22
  # implementations live in the sibling `ffi/` directory and are `require`d
@@ -153,14 +153,11 @@ module Oso
153
153
 
154
154
  # Query for a Polar predicate or string.
155
155
  #
156
- # @overload query(query)
157
- # @param query [String]
158
- # @return [Enumerator] of resulting bindings
159
- # @raise [Error] if the FFI call raises one.
160
- # @overload query(query)
161
- # @param query [Predicate]
162
- # @return [Enumerator] of resulting bindings
163
- # @raise [Error] if the FFI call raises one.
156
+ # @param query [String, Predicate]
157
+ # @param host [Host]
158
+ # @param bindings [Hash]
159
+ # @return [Enumerator] of resulting bindings
160
+ # @raise [Error] if the FFI call raises one.
164
161
  def query(query, host: self.host.dup, bindings: {})
165
162
  case query
166
163
  when String
data/lib/oso/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Oso
4
- VERSION = '0.27.2'
4
+ VERSION = '0.27.3'
5
5
  end
data/oso-oso.gemspec CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
  'fixes. More context: [here](https://www.osohq.com/docs/oss/getting-started/deprecation.html).'
17
17
  spec.homepage = 'https://www.osohq.com/'
18
18
 
19
- spec.required_ruby_version = Gem::Requirement.new('>= 2.4.0')
19
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.6.10')
20
20
 
21
21
  spec.metadata['homepage_uri'] = spec.homepage
22
22
  spec.metadata['source_code_uri'] = 'https://github.com/osohq/oso'
@@ -37,11 +37,11 @@ Gem::Specification.new do |spec|
37
37
 
38
38
  # Development dependencies
39
39
  spec.add_development_dependency 'activerecord'
40
- spec.add_development_dependency 'pry-byebug', '~> 3.9.0'
40
+ spec.add_development_dependency 'pry-byebug', '~> 3.10.1'
41
41
  spec.add_development_dependency 'rake', '~> 12.0'
42
42
  spec.add_development_dependency 'rspec', '~> 3.0'
43
- spec.add_development_dependency 'rubocop', '~> 0.89.1'
44
- spec.add_development_dependency 'solargraph', '~> 0.40.0'
43
+ spec.add_development_dependency 'rubocop', '~> 1.58.0'
44
+ spec.add_development_dependency 'solargraph', '~> 0.49.0'
45
45
  spec.add_development_dependency 'sqlite3'
46
46
  spec.add_development_dependency 'yard', '~> 0.9.25'
47
47
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oso-oso
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.2
4
+ version: 0.27.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oso Security, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-20 00:00:00.000000000 Z
11
+ date: 2024-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 3.9.0
47
+ version: 3.10.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 3.9.0
54
+ version: 3.10.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.89.1
89
+ version: 1.58.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.89.1
96
+ version: 1.58.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: solargraph
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.40.0
103
+ version: 0.49.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.40.0
110
+ version: 0.49.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: sqlite3
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -147,6 +147,7 @@ files:
147
147
  - ".gitignore"
148
148
  - ".rspec"
149
149
  - ".rubocop.yml"
150
+ - ".ruby-version"
150
151
  - ".solargraph.yml"
151
152
  - Gemfile
152
153
  - Gemfile.lock
@@ -154,8 +155,9 @@ files:
154
155
  - README.md
155
156
  - Rakefile
156
157
  - bin/oso
158
+ - ext/oso-oso/lib/libpolar-aarch64.so
159
+ - ext/oso-oso/lib/libpolar-x86_64.so
157
160
  - ext/oso-oso/lib/libpolar.dylib
158
- - ext/oso-oso/lib/libpolar.so
159
161
  - ext/oso-oso/lib/polar.dll
160
162
  - lib/oso-oso.rb
161
163
  - lib/oso.rb
@@ -197,14 +199,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
197
199
  requirements:
198
200
  - - ">="
199
201
  - !ruby/object:Gem::Version
200
- version: 2.4.0
202
+ version: 2.6.10
201
203
  required_rubygems_version: !ruby/object:Gem::Requirement
202
204
  requirements:
203
205
  - - ">="
204
206
  - !ruby/object:Gem::Version
205
207
  version: '0'
206
208
  requirements: []
207
- rubygems_version: 3.1.6
209
+ rubygems_version: 3.4.10
208
210
  signing_key:
209
211
  specification_version: 4
210
212
  summary: 'We have deprecated the legacy Oso open source library. We have plans for