Ribose CLI
The command line interface to the Ribose API.
Installation
Add this line to your application's Gemfile:
gem "ribose-cli"And then execute:
$ bundle installOr install it yourself as:
$ gem install ribose-cliUsage
Configure
To start with, we kept it pretty simple, install this gem & then configure your
API Token and email using the following interface, This will store your Ribose
configuration as .riboserc in the home directory.
ribose config --password='YOUR_API_PASSWORD' --email='youremail@example.com'Spaces
The space command retrieve space related resources, please use the help
command to see what's sub-commands are available.
ribose help spaceListing spaces
To list out the spaces, please use the list command, by default it will print
out the basic information in tabular format.
ribose space listThis interface also has support json format, if we want the output to be in
json then we can use the following
ribose space list --format jsonShow a space details
ribose space show --space-id 123456789Create a new space
To create a new user space we can use the following interface
ribose space add --name "Space name" --access "open" --category-id 12 \
--description "Space description"Update a space
ribose space update --space-id 123456 --name "New Space Name"Remove an existing space
ribose space remove --space-id 123456789 --confirmation 123456789Members
List space members
ribose member list --space-id space_uuidAdd a new space member
ribose member add \
--space-id space_uuid \
--user-id=user-one-uuid:role_one_id user-two-uuid:role_two_id \
--email=email-one@example.com:role_one_id email@example.com:role_two_id \
--message="Your invitation messages to the invitees"Update an existing member
ribose member update --role-id 135 --member-id 246 --space-id 1234Remove a space member
ribose member remove --member-id 246 --space-id 1234Space Invitation
List Space Invitation
ribose invitation list [--query=key:value]Send out space invitation
ribose invitation add \
--space-id space_uuid \
--user-id=user-one-uuid:role_one_id user-two-uuid:role_two_id \
--email=email-one@example.com:role_one_id email@example.com:role_two_id \
--message="Your invitation messages to the invitees"Update a space invitation
ribose invitation update --invitation-id 2468 --role-id 246Accept a space invitation
ribose invitation accept --invitation-id 2468Reject a space invitation
ribose invitation reject --invitation-id 2468Remove a space invitation
ribose invitation remove --invitation-id 2468Join Space Request
List join space requests
ribose join-space list [--query=space-id:2468]Fetch a join space request
ribose join-space show --request-id 2468Add join space request
ribose join-space add --space-id 1234 [--message "My request message"]Accept a join space request
ribose join-space accept --request-id 2468Reject a join space requests
ribose join-space reject --request-id 2468Note
Listing space notes
ribose note list --space-id space_uuid --format jsonShow a space note
ribose note show --note-id 123456 --space-id 78901Create a new note
ribose note add --space-id space_uuid --title "Name of the note"Update an existing note
ribose note update --space-id 1234 --note-id 5678 --title "Name of the note"Remove a note
ribose note remove --space-id space_uuid --note-id note_uuidFiles
Listing files
Ribose space may contain multiple files, and if we want to retrieve the list of the files of any space then we can use to following interface.
ribose file list --space-id 123456The above interface will retrieve the basic details in tabular format, but it
also support additional format option, acceptable option: json.
Fetch a file details
ribose file show --file-id 5678 --space-id 1234 [--format json]Add a new file
Ribose CLI allows us to upload a file in a user space, and to upload a new file we can use the following interface.
ribose file add full_path_the_file.ext --space-id space_uuid **other_optionsUpdate a space file
ribose file update [--file-name "new filename"] \
[--description "New description"] \
[--tags "tag 1, tag 2, tag 3"] --file-id 5678 --space-id 1234Remove a space file
ribose file remove --file-id 5678 --space-id 1234Conversations
Listing conversations
ribose conversation list --space-id 123456789Show a conversation details
ribose conversation show --space-id 123456789 --conversation-id 67890Create A New Conversation
ribose conversation add --space-id 123456789 --title "Conversation Title" \
--tags "sample, conversation"Update a conversation
conversation update --conversation-id 5678 --space-id 123456789 --title \
"Conversation Title" --tags "sample, conversation"Remove A Conversation
ribose conversation remove --space-id 1234 --conversation-id 5678Message
Listing conversation messages
ribose message list --space-id 12345 --conversation-id 56789Add a new message to conversation
ribose message add --space-id 12345 --conversation-id 56789 \
--message-body "Welcome to Ribose Space"Update an existing message
ribose message update --message-id 123456 --space-id 12345 \
--conversation-id 56789 --message-body "Welcome to Ribose Space"Remove an existing message
ribose message remove --message-id 1234 --space-id 12345 --conversation-id 456Development
We are following Sandi Metz's Rules for this gem, you can read the description of the rules here All new code should follow these rules. If you make changes in a pre-existing file that violates these rules you should fix the violations as part of your contribution.
Setup
Clone the repository.
git clone https://github.com/riboseinc/ribose-cliSetup your environment.
bin/setupRun the test suite
bin/rspecContributing
First, thank you for contributing! We love pull requests from everyone. By participating in this project, you hereby grant Ribose Inc. the right to grant or transfer an unlimited number of non exclusive licenses or sub-licenses to third parties, under the copyright covering the contribution to use the contribution by all means.
Here are a few technical guidelines to follow:
- Open an issue to discuss a new feature.
- Write tests to support your new feature.
- Make sure the entire test suite passes locally and on CI.
- Open a Pull Request.
- Squash your commits after receiving feedback.
- Party!
Credits
This gem is developed, maintained and funded by Ribose Inc.
License
The gem is available as open source under the terms of the MIT License.