{"id":15918244,"url":"https://github.com/jfrux/licode-ruby-sdk","last_synced_at":"2026-05-16T09:03:15.216Z","repository":{"id":35560997,"uuid":"39832890","full_name":"jfrux/licode-ruby-sdk","owner":"jfrux","description":"A ruby gem for working with the licode videoconferencing platform.","archived":false,"fork":false,"pushed_at":"2015-07-29T19:52:01.000Z","size":128,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-08T12:09:13.995Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jfrux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-28T12:36:05.000Z","updated_at":"2019-01-10T04:24:04.000Z","dependencies_parsed_at":"2022-09-18T00:22:07.230Z","dependency_job_id":null,"html_url":"https://github.com/jfrux/licode-ruby-sdk","commit_stats":null,"previous_names":["joshuairl/licode-ruby-sdk"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jfrux/licode-ruby-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Flicode-ruby-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Flicode-ruby-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Flicode-ruby-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Flicode-ruby-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jfrux","download_url":"https://codeload.github.com/jfrux/licode-ruby-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfrux%2Flicode-ruby-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285035899,"owners_count":27103935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-18T02:00:05.759Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T18:41:17.687Z","updated_at":"2025-11-18T09:03:36.484Z","avatar_url":"https://github.com/jfrux.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Licode Ruby SDK\n\nThe Licode gem is designed to help you interface with the Licode platform via server side code.\nIt is influenced by the original `nuveClient_ruby` found in the ging/licode repo but isn't a gem and isn't easy to include in your projects.\n\nThis also will be more up to date and testable.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'licode'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install licode\n\n## Usage\n\n### Initializing\n\nLoad the gem and initialize the `Licode::Nuve` object with your Licode `ServiceId`, `ServiceKey`, and `ServiceURL`.\nYour service URL should be the server you have installed licode on either by `http://xxx.xxx.xxx.xxx:3000/` or if you reversed proxied via nginx.  (but you know that... right?)\n\n```ruby\nrequire \"licode\"\n\nlicode = Licode::Nuve.new \"55b3f8d58591b4566af491ed\", \"18316\", \"http://my-licode-server:3000\"\n```\n\n### Creating Rooms\nCreating a room is done by the `Licode#create_room(name, options)` method.  The `name` parameter is up to you.  Pass in a hash or a unique identifier of your choosing to properly identify this room.  The `room_id` method of the returned `Licode::Room` instance is usually recommended to be persisted to a store (ie. database) for usage later when creating user tokens.\n\n```ruby\n# Creating a relayed (non-p2p) room.\nroom = licode.create_room('my-new-room', :p2p =\u003e false)\n\n# Creating a p2p room which uses a TURN server to ensure proper connections between peers.\nroom = licode.create_room('my-new-room', :p2p =\u003e true)\n\n# Store this room_id in the database for later generating user tokens.\nroom_id = room.room_id # 55b6549e0ff0f5c9551963c7\n```\n\n### Generating User Tokens\nAfter creating a `Room`, your user's need a special unique `token` to connect to the room.\nYou may generate a token by either `licode.create_token(room_id,username,role)` or through an instance of `Licode::Room` after creating it either by `licode.create_room(name,options)` or `licode.client.get_room(room_id)`\n\n```ruby\n# Create a Token from just a room_id (fetched from a database)\ntoken = licode.create_token session_id, 'my-user-id-name', 'presenter'\n\n# Create a Token from a room instance.\nroom = licode.create_room('my-new-room') # or with `licode.client.get_room` but access to client might be deprecated later.\n\ntoken = room.create_token('my-user-id-name','presenter') # roles are configured on your server in `licode_config.json` and by default are `presenter`, `viewer`, or `viewerWithData`\n```\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/joshuairl/licode-ruby-sdk. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfrux%2Flicode-ruby-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjfrux%2Flicode-ruby-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfrux%2Flicode-ruby-sdk/lists"}