flipt_client 0.10.0 → 0.11.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: 86617c811bf4e751f1adf5c35fd0d31dce7972008f750298ce3b68139cec9b76
4
- data.tar.gz: 265a161fa3d212be996c5c95243573bc77981fef9c52acde70e85b1fec449311
3
+ metadata.gz: 8d629e8ecefa5e1a68f25ebae475ae3238af2fc9eef9331f5dd6a674e68d50c6
4
+ data.tar.gz: 775349fdd7616a11cb77ad1e89dac5812ae7aa628c526183a14fc109f6f649de
5
5
  SHA512:
6
- metadata.gz: 3efeca0a33a34e86e9adf3df75bae40045b46ba505a8578cafc26ad3552e6b111ad5d08fb055b8041c2de57c9c4ee4b82758bf673ca0bcd00c220a2de8511aba
7
- data.tar.gz: 446c3d3dfca9e3fa6c1a10eff567da90ab5390b0b0d0cf1a90c1a6331d34ed8d156c15119d8678df2270fb7d875b8c653c1b124be871057f6a861edb889105de
6
+ metadata.gz: 997654812c0accecbd6ba79c16d7dce379785734abc7dbdaa4c79ed2c9872b3ec8b65595ca01da6ce63e672144ca98f2b22745b166cb5070b95e23b35a0550ad
7
+ data.tar.gz: b3ebea80facd6b4634f1ca69fd9216ae459884b07c043eb4409e18bdf8b1c98338c47e46acf3996c7b8f38cd9be413252c3c6ce79928e7be59aa8988893c0ff0
data/README.md CHANGED
@@ -18,6 +18,7 @@ This SDK currently supports the following OSes/architectures:
18
18
  - Linux arm64
19
19
  - MacOS x86_64
20
20
  - MacOS arm64
21
+ - Windows x86_64
21
22
 
22
23
  ### Using System Libffi
23
24
 
@@ -92,3 +93,11 @@ The `FliptEvaluationClient` supports the following authentication strategies:
92
93
  ```bash
93
94
  bundle exec ruby load_test.rb
94
95
  ```
96
+
97
+ ## Contributing
98
+
99
+ Contributions are welcome! Please feel free to open an issue or submit a Pull Request.
100
+
101
+ ## License
102
+
103
+ This project is licensed under the [MIT License](LICENSE).
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Flipt
4
- VERSION = '0.10.0'
4
+ VERSION = '0.11.0'
5
5
  end
data/lib/flipt_client.rb CHANGED
@@ -12,13 +12,14 @@ module Flipt
12
12
  class EvaluationClient
13
13
  extend FFI::Library
14
14
 
15
- FLIPTENGINE = 'libfliptengine'
15
+ FLIPTENGINE = 'fliptengine'
16
16
 
17
17
  LIB_FILES = {
18
- /arm64-darwin/ => "ext/darwin_arm64/#{FLIPTENGINE}.dylib",
19
- /x86_64-darwin/ => "ext/darwin_x86_64/#{FLIPTENGINE}.dylib",
20
- /arm64-linux|aarch64-linux/ => "ext/linux_arm64/#{FLIPTENGINE}.so",
21
- /x86_64-linux/ => "ext/linux_x86_64/#{FLIPTENGINE}.so"
18
+ /arm64-darwin/ => "ext/darwin_arm64/lib#{FLIPTENGINE}.dylib",
19
+ /x86_64-darwin/ => "ext/darwin_x86_64/lib#{FLIPTENGINE}.dylib",
20
+ /arm64-linux|aarch64-linux/ => "ext/linux_arm64/lib#{FLIPTENGINE}.so",
21
+ /x86_64-linux/ => "ext/linux_x86_64/lib#{FLIPTENGINE}.so",
22
+ /x86_64-mingw32/ => "ext/windows_x86_64/#{FLIPTENGINE}.dll"
22
23
  }.freeze
23
24
 
24
25
  def self.libfile
@@ -83,7 +84,10 @@ module Flipt
83
84
  validate_evaluation_request(evaluation_request)
84
85
  resp, ptr = self.class.evaluate_variant(@engine, evaluation_request.to_json)
85
86
  ptr = FFI::AutoPointer.new(ptr, EvaluationClient.method(:destroy_string))
86
- JSON.parse(resp)
87
+ data = JSON.parse(resp)
88
+ raise StandardError, data['error_message'] if data['status'] != 'success'
89
+
90
+ data['result']
87
91
  end
88
92
 
89
93
  # Evaluate a boolean flag for a given request
@@ -95,7 +99,10 @@ module Flipt
95
99
  validate_evaluation_request(evaluation_request)
96
100
  resp, ptr = self.class.evaluate_boolean(@engine, evaluation_request.to_json)
97
101
  ptr = FFI::AutoPointer.new(ptr, EvaluationClient.method(:destroy_string))
98
- JSON.parse(resp)
102
+ data = JSON.parse(resp)
103
+ raise StandardError, data['error_message'] if data['status'] != 'success'
104
+
105
+ data['result']
99
106
  end
100
107
 
101
108
  # Evaluate a batch of flags for a given request
@@ -110,14 +117,20 @@ module Flipt
110
117
 
111
118
  resp, ptr = self.class.evaluate_batch(@engine, batch_evaluation_request.to_json)
112
119
  ptr = FFI::AutoPointer.new(ptr, EvaluationClient.method(:destroy_string))
113
- JSON.parse(resp)
120
+ data = JSON.parse(resp)
121
+ raise StandardError, data['error_message'] if data['status'] != 'success'
122
+
123
+ data['result']
114
124
  end
115
125
 
116
126
  # List all flags in the namespace
117
127
  def list_flags
118
128
  resp, ptr = self.class.list_flags(@engine)
119
129
  ptr = FFI::AutoPointer.new(ptr, EvaluationClient.method(:destroy_string))
120
- JSON.parse(resp)
130
+ data = JSON.parse(resp)
131
+ raise StandardError, data['error_message'] if data['status'] != 'success'
132
+
133
+ data['result']
121
134
  end
122
135
 
123
136
  private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flipt_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flipt Devs
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-31 00:00:00.000000000 Z
11
+ date: 2024-10-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Flipt Client Evaluation SDK
14
14
  email:
@@ -19,19 +19,12 @@ extra_rdoc_files: []
19
19
  files:
20
20
  - README.md
21
21
  - flipt-client-ruby.gemspec
22
- - lib/ext/darwin_arm64/libfliptengine.d
23
22
  - lib/ext/darwin_arm64/libfliptengine.dylib
24
- - lib/ext/darwin_arm64/libfliptengine.rlib
25
- - lib/ext/darwin_x86_64/libfliptengine.d
26
23
  - lib/ext/darwin_x86_64/libfliptengine.dylib
27
- - lib/ext/darwin_x86_64/libfliptengine.rlib
28
24
  - lib/ext/flipt_engine.h
29
- - lib/ext/linux_arm64/libfliptengine.d
30
- - lib/ext/linux_arm64/libfliptengine.rlib
31
25
  - lib/ext/linux_arm64/libfliptengine.so
32
- - lib/ext/linux_x86_64/libfliptengine.d
33
- - lib/ext/linux_x86_64/libfliptengine.rlib
34
26
  - lib/ext/linux_x86_64/libfliptengine.so
27
+ - lib/ext/windows_x86_64/fliptengine.dll
35
28
  - lib/flipt_client.rb
36
29
  - lib/flipt_client/models.rb
37
30
  - lib/flipt_client/version.rb
@@ -1 +0,0 @@
1
- /Users/runner/work/flipt-client-sdks/flipt-client-sdks/target/aarch64-apple-darwin/release/libfliptengine.rlib: /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/evaluator/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/lib.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/parser/http.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/parser/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/error/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/lib.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/common.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/flipt.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/source.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/parser/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/store/mod.rs
@@ -1 +0,0 @@
1
- /Users/runner/work/flipt-client-sdks/flipt-client-sdks/target/x86_64-apple-darwin/release/libfliptengine.rlib: /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/evaluator/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/lib.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/parser/http.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/parser/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/error/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/lib.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/common.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/flipt.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/source.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/parser/mod.rs /Users/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/store/mod.rs
@@ -1 +0,0 @@
1
- /target/aarch64-unknown-linux-gnu/release/libfliptengine.rlib: /project/flipt-engine-ffi/src/evaluator/mod.rs /project/flipt-engine-ffi/src/lib.rs /project/flipt-engine-ffi/src/parser/http.rs /project/flipt-engine-ffi/src/parser/mod.rs /project/flipt-evaluation/src/error/mod.rs /project/flipt-evaluation/src/lib.rs /project/flipt-evaluation/src/models/common.rs /project/flipt-evaluation/src/models/flipt.rs /project/flipt-evaluation/src/models/mod.rs /project/flipt-evaluation/src/models/source.rs /project/flipt-evaluation/src/parser/mod.rs /project/flipt-evaluation/src/store/mod.rs
@@ -1 +0,0 @@
1
- /home/runner/work/flipt-client-sdks/flipt-client-sdks/target/x86_64-unknown-linux-gnu/release/libfliptengine.rlib: /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/evaluator/mod.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/lib.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/parser/http.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-engine-ffi/src/parser/mod.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/error/mod.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/lib.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/common.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/flipt.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/mod.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/models/source.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/parser/mod.rs /home/runner/work/flipt-client-sdks/flipt-client-sdks/flipt-evaluation/src/store/mod.rs