flipt_client 0.9.0 → 0.11.0

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
2
  SHA256:
3
- metadata.gz: 9d7272b8279c1431c8cc1e464cec449a7d6c2c6c40a4892f3606c634dfd04f24
4
- data.tar.gz: 41aabf46845348ee6c072e151342583b1e2d5ffae369c463f8aa1f2eb9d698a1
3
+ metadata.gz: 8d629e8ecefa5e1a68f25ebae475ae3238af2fc9eef9331f5dd6a674e68d50c6
4
+ data.tar.gz: 775349fdd7616a11cb77ad1e89dac5812ae7aa628c526183a14fc109f6f649de
5
5
  SHA512:
6
- metadata.gz: f0331b39703e02f7690313d8c95a184cb00436fc025963403f6613645f71877b7661e693a820c2aa6f8d03f019de083f5409211431a278394b8514e8fd1727fa
7
- data.tar.gz: dbc6f543c9f22aa68c036676b5ad819a6ebef0a5dc1607eb507e19f029889386a21bf18cb3f2dae75d16d3d9e792c379f3113f9f90bad14fa46fdfa85b3d6019
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.9.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.9.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-16 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