We'd like to make ConfigCat avaliable for as many users as possible. Our SDKs are avalible in multiple languages. But still lots of our users missed Ruby support in ConfigCat:
"Does configcat have Ruby sdk??"
"So I am sad you don’t have a ruby client I can see."
"Are you plannig to support ruby?"
Finally we decided to create a standalone Ruby SDK.
Ruby is an interpreted language. It's very similar to Python and we already have an SDK written in Python. Taking advantage of this, the first idea was that we simply convert our Python code to Ruby and everything will be just fine.
So, is it enough to convert the files like this?
$ py2rb configcat.py configcat.rb -w
We experienced that the generated
.rb file is not always perfect (it’s possible that doesn’t even compile). But it's a pretty good starting point and after some changes we can create the ruby version of the original code.
Of course after that, we had to create CI for the new SDK and make it possible to run the converted unit and integaration tests.
Now it's ready to use. Just grab the ruby package from RubyGems:
$ gem install configcat
And use your feature flag:
require 'configcat' configcat_client = ConfigCat.create_client("#YOUR-API-KEY#") isMyAwesomeFeatureEnabled = configcat_client.get_value("isMyAwesomeFeatureEnabled", false) if isMyAwesomeFeatureEnabled do_the_new_thing() else do_the_old_thing() end
If you run into any problem, just drop us an email at email@example.com.