Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: adding ruby client for CAC and experimentation system #186

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Subhash703
Copy link
Contributor

Problem

Describe the problem you are trying to solve here

Solution

Created this ruby module which provides a interface for the CAC (Configuration as Code) allowing you to interact with the CAC server to retrieve and manage configurations

Environment variable changes

What ENVs need to be added or changed

Pre-deployment activity

Things needed to be done before deploying this change (if any)

Post-deployment activity

Things needed to be done after deploying this change (if any)

API changes

Endpoint Method Request body Response Body
API GET/POST, etc request response

Possible Issues in the future

Describe any possible issues that could occur because of this change

@Subhash703 Subhash703 requested a review from a team as a code owner July 29, 2024 17:25
@Subhash703 Subhash703 changed the title feat: adddig ruby cac client feat: adding ruby client for CAC and experimentation system Jul 29, 2024
@mahatoankitkumar
Copy link
Collaborator

mahatoankitkumar commented Aug 27, 2024

@Subhash703 Can you add a Readme.md here with steps to add this to a separate project ?

Copy link
Collaborator

@mahatoankitkumar mahatoankitkumar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Subhash703 can you please extract the examples in a different file?

clients/ruby/cac-client/cacclient.rb Outdated Show resolved Hide resolved
clients/ruby/exp-client/expclient.rb Outdated Show resolved Hide resolved
4. Polling updates for experiments are done on different thread.

## Uses
To use functions from clients, refer to <span style="color: #808080" >main.rb </span> files in the respective clients.
Copy link
Collaborator

@mahatoankitkumar mahatoankitkumar Sep 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add proper steps to add documentation on how to add this to a separate project?
Like importing and using it with sample codes

attach_function :cac_get_last_modified, [ArcClient.by_ref], :string
attach_function :cac_get_config, [ArcClient.by_ref, :string, :string], :string
attach_function :cac_get_resolved_config, [ArcClient.by_ref, :string, :string, :string], :string
attach_function :cac_get_default_config, [ArcClient.by_ref, :string], :string
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we improve the return type for the functions like cac_get_config, cac_get_resolved_config and others to respective types like map .....
Refer haskell client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants