{"id":19541779,"url":"https://github.com/nullscreen/yt-audit","last_synced_at":"2025-02-26T05:19:11.994Z","repository":{"id":56899197,"uuid":"51339379","full_name":"nullscreen/yt-audit","owner":"nullscreen","description":null,"archived":false,"fork":false,"pushed_at":"2019-08-16T01:05:26.000Z","size":59,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-02-22T09:47:34.103Z","etag":null,"topics":["gem"],"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/nullscreen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-09T01:16:11.000Z","updated_at":"2022-10-04T03:47:15.000Z","dependencies_parsed_at":"2022-08-21T01:50:28.785Z","dependency_job_id":null,"html_url":"https://github.com/nullscreen/yt-audit","commit_stats":null,"previous_names":["fullscreen/yt-audit"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullscreen%2Fyt-audit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullscreen%2Fyt-audit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullscreen%2Fyt-audit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullscreen%2Fyt-audit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nullscreen","download_url":"https://codeload.github.com/nullscreen/yt-audit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240156681,"owners_count":19756815,"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","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":["gem"],"created_at":"2024-11-11T03:11:55.974Z","updated_at":"2025-02-26T05:19:11.858Z","avatar_url":"https://github.com/nullscreen.png","language":"Ruby","readme":"# Yt::Audit\n\nWelcome! This is a Ruby library you can audit best practices of a YouTube channel.\n\nThe **source code** is available on [GitHub](https://github.com/Fullscreen/yt-audit) and the **documentation** on [RubyDoc](http://www.rubydoc.info/github/fullscreen/yt-audit/master/Yt/Audit).\n\n[![Build Status](http://img.shields.io/travis/Fullscreen/yt-audit/master.svg)](https://travis-ci.org/Fullscreen/yt-audit)\n[![Coverage Status](http://img.shields.io/coveralls/Fullscreen/yt-audit/master.svg)](https://coveralls.io/r/Fullscreen/yt-audit)\n[![Dependency Status](http://img.shields.io/gemnasium/Fullscreen/yt-audit.svg)](https://gemnasium.com/Fullscreen/yt-audit)\n[![Code Climate](http://img.shields.io/codeclimate/github/Fullscreen/yt-audit.svg)](https://codeclimate.com/github/Fullscreen/yt-audit)\n[![Online docs](http://img.shields.io/badge/docs-✓-green.svg)](http://www.rubydoc.info/github/fullscreen/yt-audit/master/Yt/Audit)\n[![Gem Version](http://img.shields.io/gem/v/yt-audit.svg)](http://rubygems.org/gems/yt-audit)\n\n\n## Development\n\n    $ bin/setup\n\n    $ YT_SERVER_API_KEY=\"123456789012345678901234567890123456789\" rake\n    $ open coverage/index.html\n\n    $ yardoc\n    $ open doc/index.html\n\n## Usage\n\n`run` method returns an array of objects. `Yt::Audit` should be initialized with a `Yt::Channel` object of [yt](https://github.com/Fullscreen/yt) as `channel`.\n\nIt can also have videos, brand name, and playlists as optional, but by default it uses maximum 10 recent videos of channel as `videos`, channel title as `brand` and maximum 10 recent playlists as `playlists` keyword argument.\n\n```ruby\nchannel = Yt::Channel.new(id: 'UCPCk_8dtVyR1lLHMBEILW4g')\naudit = Yt::Audit.new(channel: channel)\n# =\u003e #\u003cYt::Audit:0x007ffbb43fe780 @channel=#\u003cYt::Models::Channel...\u003e, @videos=[...], @playlists=[...], @brand=\"budweiser\"\u003e\naudit.run\n# =\u003e [#\u003cYt::VideoAudit::InfoCard:0x007f94ec8c6f30 @videos=[...]\u003e, #\u003cYt::VideoAudit::BrandAnchoring...\u003e, #\u003cYt::VideoAudit::SubscribeAnnotation...\u003e, #\u003cYt::VideoAudit::YoutubeAssociation...\u003e, #\u003cYt::VideoAudit::EndCard...\u003e, #\u003cYt::PlaylistAudit::Description...\u003e]\n```\n\nYou can call four available methods `total_count`, `valid_count`, `title`, and `description` from each `Yt::VideoAudit` or `Yt::PlaylistAudit` object.\n\n```ruby\naudit_item = audit.run[0]\n# =\u003e #\u003cYt::VideoAudit::InfoCard:0x007f94ec979ab8 @videos=[...]\u003e\naudit_item.total_count\n# =\u003e 10\naudit_item.valid_count\n# =\u003e 10\naudit_item.title\n# =\u003e \"Info Cards\"\naudit_item.description\n# =\u003e \"The number of videos with an info card\"\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullscreen%2Fyt-audit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnullscreen%2Fyt-audit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullscreen%2Fyt-audit/lists"}