Yt::URL - a URL extension for the Yt library
Yt::URL helps you identify YouTube resources from their URL.
The source code is available on GitHub and the documentation on RubyDoc.
After registering your app, you can run commands like:
url = Yt::URL.new "youtu.be/gknzFj_0vvY"
url.kind # => :video
url.id # => "gknzFj_0vvY"
url.resource # => #<Yt::Video @id=gknzFj_0vvY>
The full documentation is available at rubydoc.info.
A comprehensive guide to Yt
All the classes and methods available are detailed on the Yt homepage:
Please proceed to https://fullscreen.github.io/yt-core/urls.html for more details and examples.
How to install
To install on your system, run
gem install yt-url
To use inside a bundled Ruby project, add this line to the Gemfile:
gem 'yt-url', '~> 1.0'
Since the gem follows Semantic Versioning,
indicating the full version in your Gemfile (~> major.minor.patch)
guarantees that your project won’t occur in any error when you bundle update
and a new version of Yt is released.
How to test
To run live-tests against the YouTube API, type:
rspec
This will fail unless you have set up a test YouTube application and some tests YouTube accounts to hit the API. If you cannot run tests locally, you can open PR against the repo and Travis CI will run the tests for you.
These are the environment variables required to run the tests in spec/requests/server
:
-
YT_SERVER_API_KEY
: API Key of a Google app with access to the YouTube Data API v3 and the YouTube Analytics API
No environment variables are required to run the other tests.
How to release new versions
If you are a manager of this project, remember to upgrade the Yt gem whenever a new feature is added or a bug gets fixed.
Make sure all the tests are passing on Travis CI, document the changes in HISTORY.md and README.md, bump the version, then run
rake release
Remember that the yt gem follows Semantic Versioning. Any new release that is fully backward-compatible should bump the patch version (0.0.x). Any new version that breaks compatibility should bump the minor version (0.x.0)
How to contribute
Contribute to the code by forking the project, adding the missing code, writing the appropriate tests and submitting a pull request.
In order for a PR to be approved, all the tests need to pass and all the public methods need to be documented and listed in the guides. Remember:
- to run all tests locally:
bundle exec rspec
- to generate the docs locally:
bundle exec yard
- to list undocumented methods:
bundle exec yard stats --no-doc