HPE Nimble Storage Tech Blog
cancel
Showing results for 
Search instead for 
Did you mean: 

Interactive Nimble Rest Client - Ruby

kennedkj96

I've developed an interactive and inclusive ReST client for Nimble arrays and would like to share/receive feedback.

Bimbly


When looking over the ReST API documentation I saw that it was very vast. I sought to leverage the API documentation to create an all-inclusive and easy-to-use fore a quality end user experience. I wanted to share the client with the Nimble Storage community to get useful feedback on it's basic functionality and see what else the community might want from it while the code is still a little fluid. I still need to implement parameter checking and error codes, but the functionality is there and ready to use.

It's been packaged up into a gem and can be installed with:

gem install bimbly

Source:

GitHub - zumiez/bimbly: Interactive Nimble Rest Client

Please share and let me know what you think. I've tried to make it as easy to use and navigable as possible, but I think it could be much better.

Thank you,

Kyle

About the Author

kennedkj96

Comments
kennedkj96

I fixed a bug where I didn't specify the rest-client version in the gemspec file, which could result in "body method not found" type of error. bimbly 1.0.1 should work as expected with this problem fixed.

I'm looking into verbose error checking, but it looks like the Rest responses are already very verbose, so I could possibly take out the error code files and greatly lighten the code. I'll test it out some more first.

Let me know what you all think

kennedkj96

I've released a new version of the library (v1.1.0)

Added functionality:

* Checks parameters passed to those available for the method

* Checks payload against mandatory attributes

* Checks payload against available attributes

* Added nicely formatted error returns

Next up: This version is based off of the API v3.1 documentation. I will parse the v4.1 and add the funcitonality to choose or switch between the two.

kennedkj96

Just released v1.2.0 which defaults to methods and data based off of v4.1.

v3.1 is still available through the library, you just need to instantiate it with: Bimbly.new( version: '3' )

Fixed a bug with the payload not being wrapped with 'data', but it should be ok now

amb154586

Very cool.  I don't currently have a use case that requires this, but I will be very thankful this exists when I do.