Class: Auth0::Experimentation::FeatureFlags::Variations::Client
- Inherits:
-
Object
- Object
- Auth0::Experimentation::FeatureFlags::Variations::Client
- Defined in:
- lib/auth0/experimentation/feature_flags/variations/client.rb
Instance Method Summary collapse
-
#create(request_options: {}, **params) ⇒ Auth0::Types::CreateVariationResponseContent
Create a new variation with parameter overrides for a specific feature flag.
-
#delete(request_options: {}, **params) ⇒ untyped
Delete a variation by ID.
-
#get(request_options: {}, **params) ⇒ Auth0::Types::GetVariationResponseContent
Retrieve a single variation by its ID.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Auth0::Types::ListVariationsResponseContent
Retrieve all variations defined for a specific feature flag.
-
#update(request_options: {}, **params) ⇒ Auth0::Types::UpdateVariationResponseContent
Partially update a variation by ID.
Constructor Details
#initialize(client:) ⇒ void
11 12 13 |
# File 'lib/auth0/experimentation/feature_flags/variations/client.rb', line 11 def initialize(client:) @client = client end |
Instance Method Details
#create(request_options: {}, **params) ⇒ Auth0::Types::CreateVariationResponseContent
Create a new variation with parameter overrides for a specific feature flag.
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/auth0/experimentation/feature_flags/variations/client.rb', line 73 def create(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Experimentation::FeatureFlags::Variations::Types::CreateVariationRequestContent.new(params).to_h non_body_param_names = %w[id] body = request_data.except(*non_body_param_names) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "experimentation/feature-flags/#{URI.encode_uri_component(params[:id].to_s)}/variations", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) (response.body.to_s.empty? ? nil : Auth0::Types::CreateVariationResponseContent.load(response.body)) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#delete(request_options: {}, **params) ⇒ untyped
Delete a variation by ID. Returns 204 if the variation does not exist. Returns 404 if the parent feature flag does not exist.
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/auth0/experimentation/feature_flags/variations/client.rb', line 161 def delete(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "DELETE", path: "experimentation/feature-flags/#{URI.encode_uri_component(params[:id].to_s)}/variations/#{URI.encode_uri_component(params[:vid].to_s)}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#get(request_options: {}, **params) ⇒ Auth0::Types::GetVariationResponseContent
Retrieve a single variation by its ID.
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/auth0/experimentation/feature_flags/variations/client.rb', line 119 def get(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "experimentation/feature-flags/#{URI.encode_uri_component(params[:id].to_s)}/variations/#{URI.encode_uri_component(params[:vid].to_s)}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) (response.body.to_s.empty? ? nil : Auth0::Types::GetVariationResponseContent.load(response.body)) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list(request_options: {}, **params) ⇒ Auth0::Types::ListVariationsResponseContent
Retrieve all variations defined for a specific feature flag.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/auth0/experimentation/feature_flags/variations/client.rb', line 30 def list(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "experimentation/feature-flags/#{URI.encode_uri_component(params[:id].to_s)}/variations", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) (response.body.to_s.empty? ? nil : Auth0::Types::ListVariationsResponseContent.load(response.body)) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#update(request_options: {}, **params) ⇒ Auth0::Types::UpdateVariationResponseContent
Partially update a variation by ID. Only provided fields are updated.
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
# File 'lib/auth0/experimentation/feature_flags/variations/client.rb', line 200 def update(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::Experimentation::FeatureFlags::Variations::Types::UpdateVariationRequestContent.new(params).to_h non_body_param_names = %w[id vid] body = request_data.except(*non_body_param_names) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "PATCH", path: "experimentation/feature-flags/#{URI.encode_uri_component(params[:id].to_s)}/variations/#{URI.encode_uri_component(params[:vid].to_s)}", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) (response.body.to_s.empty? ? nil : Auth0::Types::UpdateVariationResponseContent.load(response.body)) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |