yt-url 1.0.0.beta1 → 1.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 739b0b8d6c91fc1762f33f0b0323c7c4909b71fb
4
- data.tar.gz: 98637af9de0e03bde5c6257da8e65a2542fb25ad
3
+ metadata.gz: 2618aa48886e44a3c874fc3d6c2ec1e46a45ff8b
4
+ data.tar.gz: f7728d1819486c079fb75315ec7da131ba27132a
5
5
  SHA512:
6
- metadata.gz: 189cdefce9251aa7c49a8e843d5f3eaa79b614c52a49942fbc898b59d043a47a8cdcf486c4b27e2f32ee3733b7e20cfc619ef2d2ce54f859c23669631871eb85
7
- data.tar.gz: 6341364c63066cfeb5041395f7b9be342add569a3dbdda5134497d2011ed5b2ce9af97c1374b82ce558361c3ab562fd23c27571c8927e22f1a945d8c5712b238
6
+ metadata.gz: aff9ced79af1c921bade6c03137c48c90b6a68eaacb575a92d770e6c3675460de9bd53e60da1416a729c9a54869ac8589868a8cf20c3593a2a4da3601c5c7830
7
+ data.tar.gz: 1ea415b5b7047383c05d8703af843135ad9e59ba27c754de471dc0d8aad21fba93d1ef1bc409487db62f7832acd65fafbded299963396efdb04635aa28f719ee
data/CHANGELOG.md CHANGED
@@ -6,6 +6,11 @@ For more information about changelogs, check
6
6
  [Keep a Changelog](http://keepachangelog.com) and
7
7
  [Vandamme](http://tech-angels.github.io/vandamme).
8
8
 
9
+ ## 1.0.0.beta2 - 2017-03-04
10
+
11
+ * [ENHANCEMENT] Remove dependency from 'activesupport'
12
+ * [ENHANCEMENT] Change dependency from 'yt' to the smaller 'yt-core'
13
+
9
14
  ## 1.0.0.beta1 - 2017-02-26
10
15
 
11
16
  * [FEATURE] Extracted Yt::URL module from Yt
data/LICENSE.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  The MIT License (MIT)
2
2
 
3
3
  Copyright (c) 2016–present Fullscreen, Inc.
4
- -–—
4
+
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
7
7
  in the Software without restriction, including without limitation the rights
data/README.md CHANGED
@@ -3,16 +3,16 @@ Yt::URL - a URL extension for the Yt library
3
3
 
4
4
  Yt::URL helps you identify YouTube resources from their URL.
5
5
 
6
- The **source code** is available on [GitHub](https://github.com/claudiob/yt-url) and the **documentation** on [RubyDoc](http://www.rubydoc.info/gems/yt-url/frames).
6
+ The **source code** is available on [GitHub](https://github.com/fullscreen/yt-url) and the **documentation** on [RubyDoc](http://www.rubydoc.info/gems/yt-url/frames).
7
7
 
8
- [![Build Status](http://img.shields.io/travis/claudiob/yt-url/master.svg)](https://travis-ci.org/claudiob/yt-url)
9
- [![Coverage Status](http://img.shields.io/coveralls/claudiob/yt-url/master.svg)](https://coveralls.io/r/claudiob/yt-url)
10
- [![Dependency Status](http://img.shields.io/gemnasium/claudiob/yt-url.svg)](https://gemnasium.com/claudiob/yt-url)
11
- [![Code Climate](http://img.shields.io/codeclimate/github/claudiob/yt-url.svg)](https://codeclimate.com/github/claudiob/yt-url)
8
+ [![Build Status](http://img.shields.io/travis/Fullscreen/yt-url/master.svg)](https://travis-ci.org/Fullscreen/yt-url)
9
+ [![Coverage Status](http://img.shields.io/coveralls/Fullscreen/yt-url/master.svg)](https://coveralls.io/r/Fullscreen/yt-url)
10
+ [![Dependency Status](http://img.shields.io/gemnasium/Fullscreen/yt-url.svg)](https://gemnasium.com/Fullscreen/yt-url)
11
+ [![Code Climate](http://img.shields.io/codeclimate/github/Fullscreen/yt-url.svg)](https://codeclimate.com/github/Fullscreen/yt-url)
12
12
  [![Online docs](http://img.shields.io/badge/docs-✓-green.svg)](http://www.rubydoc.info/gems/yt-url/frames)
13
13
  [![Gem Version](http://img.shields.io/gem/v/yt-url.svg)](http://rubygems.org/gems/yt-url)
14
14
 
15
- After [registering your app](https://claudiob.github.io/yt), you can run commands like:
15
+ After [registering your app](https://fullscreen.github.io/yt-core/), you can run commands like:
16
16
 
17
17
  ```ruby
18
18
  url = Yt::URL.new "youtu.be/gknzFj_0vvY"
@@ -27,11 +27,11 @@ The **full documentation** is available at [rubydoc.info](http://www.rubydoc.inf
27
27
  A comprehensive guide to Yt
28
28
  ===========================
29
29
 
30
- All the classes and methods available are detailed on the [Yt homepage](https://claudiob.github.io/yt/):
30
+ All the classes and methods available are detailed on the [Yt homepage](https://fullscreen.github.io/yt-core/):
31
31
 
32
- [![Yt homepage](https://cloud.githubusercontent.com/assets/10076/19788369/b61d7756-9c5c-11e6-8bd8-05f8d67aef4e.png)](https://claudiob.github.io/yt/)
32
+ [![Yt homepage](https://cloud.githubusercontent.com/assets/10076/19788369/b61d7756-9c5c-11e6-8bd8-05f8d67aef4e.png)](https://fullscreen.github.io/yt-core/)
33
33
 
34
- Please proceed to [https://claudiob.github.io/yt/urls.html](https://claudiob.github.io/yt/urls.html) for more details and examples.
34
+ Please proceed to [https://fullscreen.github.io/yt-core/urls.html](https://fullscreen.github.io/yt-core/urls.html) for more details and examples.
35
35
 
36
36
 
37
37
  How to install
@@ -43,7 +43,7 @@ To install on your system, run
43
43
 
44
44
  To use inside a bundled Ruby project, add this line to the Gemfile:
45
45
 
46
- gem 'yt-url', '~> 0.0.0'
46
+ gem 'yt-url', '~> 1.0.0.beta2'
47
47
 
48
48
  Since the gem follows [Semantic Versioning](http://semver.org),
49
49
  indicating the full version in your Gemfile (~> *major*.*minor*.*patch*)
@@ -75,7 +75,7 @@ How to release new versions
75
75
  If you are a manager of this project, remember to upgrade the [Yt gem](http://rubygems.org/gems/yt-url)
76
76
  whenever a new feature is added or a bug gets fixed.
77
77
 
78
- Make sure all the tests are passing on [Travis CI](https://travis-ci.org/claudiob/yt-url),
78
+ Make sure all the tests are passing on [Travis CI](https://travis-ci.org/fullscreen/yt-url),
79
79
  document the changes in HISTORY.md and README.md, bump the version, then run
80
80
 
81
81
  rake release
data/lib/yt/url.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'yt'
1
+ require 'yt/core'
2
2
 
3
3
  # An object-oriented Ruby client for YouTube.
4
4
  # @see http://www.rubydoc.info/gems/yt/
@@ -26,7 +26,7 @@ module Yt
26
26
 
27
27
  # @return [<String, nil>] the ID of the YouTube resource matching the URL.
28
28
  def id
29
- @match[:id] ||= fetch_id
29
+ @match['id'] ||= fetch_id
30
30
  end
31
31
 
32
32
  # @return [<Yt::Channel>] the resource associated with the URL
@@ -35,7 +35,7 @@ module Yt
35
35
  when :channel then Yt::Channel
36
36
  when :video then Yt::Video
37
37
  when :playlist then Yt::Playlist
38
- else raise Yt::Errors::NoItems
38
+ else raise Yt::NoItemsError
39
39
  end.new options.merge(id: id)
40
40
  end
41
41
 
@@ -66,8 +66,7 @@ module Yt
66
66
  patterns.find(-> {{kind: :unknown}}) do |kind, regex|
67
67
  if data = @text.match(regex)
68
68
  # Note: With Ruby 2.4, the following is data.named_captures
69
- match = data.names.zip(data.captures).to_h.with_indifferent_access
70
- break match.merge kind: kind
69
+ break data.names.zip(data.captures).to_h.merge kind: kind
71
70
  end
72
71
  end
73
72
  end
@@ -84,7 +83,7 @@ module Yt
84
83
 
85
84
  def fetch_id
86
85
  response = Net::HTTP.start 'www.youtube.com', 443, use_ssl: true do |http|
87
- http.request Net::HTTP::Get.new("/#{@match[:format]}#{@match[:name]}")
86
+ http.request Net::HTTP::Get.new("/#{@match['format']}#{@match['name']}")
88
87
  end
89
88
  if response.is_a?(Net::HTTPRedirection)
90
89
  response = Net::HTTP.start 'www.youtube.com', 443, use_ssl: true do |http|
@@ -95,7 +94,7 @@ module Yt
95
94
  if data = response.body.match(regex)
96
95
  data[:id]
97
96
  else
98
- raise Yt::Errors::NoItems
97
+ raise Yt::NoItemsError
99
98
  end
100
99
  end
101
100
  end
@@ -2,6 +2,6 @@ module Yt
2
2
  class URL
3
3
  # @return [String] the SemVer-compatible gem version.
4
4
  # @see http://semver.org
5
- VERSION = "1.0.0.beta1"
5
+ VERSION = '1.0.0.beta2'
6
6
  end
7
7
  end
data/spec/id_spec.rb CHANGED
@@ -32,7 +32,7 @@ describe 'Yt::URL#id' do
32
32
 
33
33
  describe 'fails with unknown channels' do
34
34
  let(:name) { 'not-an-actual-channel' }
35
- it {expect{url.id}.to raise_error Yt::Errors::NoItems }
35
+ it {expect{url.id}.to raise_error Yt::NoItemsError }
36
36
  end
37
37
  end
38
38
 
@@ -46,7 +46,7 @@ describe 'Yt::URL#id' do
46
46
 
47
47
  describe 'fails with unknown channels' do
48
48
  let(:name) { 'not-an-actual-channel' }
49
- it {expect{url.id}.to raise_error Yt::Errors::NoItems }
49
+ it {expect{url.id}.to raise_error Yt::NoItemsError }
50
50
  end
51
51
  end
52
52
 
@@ -60,7 +60,7 @@ describe 'Yt::URL#id' do
60
60
 
61
61
  describe 'fails with unknown channels' do
62
62
  let(:name) { 'not-an-actual-channel' }
63
- it {expect{url.id}.to raise_error Yt::Errors::NoItems }
63
+ it {expect{url.id}.to raise_error Yt::NoItemsError }
64
64
  end
65
65
  end
66
66
 
@@ -21,7 +21,7 @@ describe 'Yt::URL#resource', :server do
21
21
  let(:text) { "youtu.be/#{$unknown_video_id}" }
22
22
 
23
23
  it {expect(url.resource).to be_a Yt::Video }
24
- it {expect{url.resource.title}.to raise_error Yt::Errors::NoItems }
24
+ it {expect{url.resource.title}.to raise_error Yt::NoItemsError }
25
25
  end
26
26
 
27
27
  context 'given an existing YouTube playlist URL' do
@@ -35,14 +35,12 @@ describe 'Yt::URL#resource', :server do
35
35
  let(:text) { "https://www.youtube.com/playlist?list=#{$unknown_playlist_id}" }
36
36
 
37
37
  it {expect(url.resource).to be_a Yt::Playlist }
38
- it {expect{url.resource.title}.to raise_error Yt::Errors::NoItems }
38
+ it {expect{url.resource.title}.to raise_error Yt::NoItemsError }
39
39
  end
40
40
 
41
41
  context 'given an unknown text' do
42
42
  let(:text) { $unknown_text }
43
43
 
44
- it {expect{url.resource}.to raise_error Yt::Errors::NoItems }
44
+ it {expect{url.resource}.to raise_error Yt::NoItemsError }
45
45
  end
46
-
47
46
  end
48
-
data/yt-url.gemspec CHANGED
@@ -4,15 +4,15 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'yt/url/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "yt-url"
7
+ spec.name = 'yt-url'
8
8
  spec.version = Yt::URL::VERSION
9
- spec.authors = ['Claudio Baccigalupo']
10
- spec.email = ['claudio@fullscreen.net']
9
+ spec.authors = ['Claudio Baccigalupo', 'Kang-Kyu Lee']
10
+ spec.email = ['claudio@fullscreen.net', 'kang-kyu.lee@fullscreen.net']
11
11
  spec.description = %q{URL Extension for the Yt library.}
12
12
  spec.summary = %q{Yt::URL helps identify which YouTube resource (video,
13
13
  channel, playlist) matches a YouTube URL in any given form.}
14
- spec.homepage = 'http://github.com/claudiob/yt-url'
15
- spec.license = "MIT"
14
+ spec.homepage = 'http://github.com/fullscreen/yt-url'
15
+ spec.license = 'MIT'
16
16
 
17
17
  spec.required_ruby_version = '>= 2.2.2'
18
18
 
@@ -22,13 +22,12 @@ Gem::Specification.new do |spec|
22
22
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
23
23
  spec.require_paths = ['lib']
24
24
 
25
- spec.add_dependency 'activesupport', '>= 5', '< 6'
26
- spec.add_dependency 'yt', '>= 0.29'
25
+ spec.add_dependency 'yt-core', '>= 0.1.0'
27
26
 
28
- spec.add_development_dependency 'bundler', '~> 1.7'
27
+ spec.add_development_dependency 'bundler', '~> 1.14'
29
28
  spec.add_development_dependency 'rspec', '~> 3.5'
30
- spec.add_development_dependency 'rake', '~> 10.0'
31
- spec.add_development_dependency 'coveralls', '~> 0.8.15'
32
- spec.add_development_dependency 'jekyll', '~> 3.3'
33
- spec.add_development_dependency 'yard', '~> 0.9.5'
29
+ spec.add_development_dependency 'rake', '~> 12.0'
30
+ spec.add_development_dependency 'coveralls', '~> 0.8.20'
31
+ spec.add_development_dependency 'pry-nav', '~> 0.2.4'
32
+ spec.add_development_dependency 'yard', '~> 0.9.8'
34
33
  end
metadata CHANGED
@@ -1,63 +1,44 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yt-url
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta1
4
+ version: 1.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claudio Baccigalupo
8
+ - Kang-Kyu Lee
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2017-02-26 00:00:00.000000000 Z
12
+ date: 2017-04-03 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: activesupport
15
+ name: yt-core
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: '5'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '6'
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '5'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '6'
33
- - !ruby/object:Gem::Dependency
34
- name: yt
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '0.29'
20
+ version: 0.1.0
40
21
  type: :runtime
41
22
  prerelease: false
42
23
  version_requirements: !ruby/object:Gem::Requirement
43
24
  requirements:
44
25
  - - ">="
45
26
  - !ruby/object:Gem::Version
46
- version: '0.29'
27
+ version: 0.1.0
47
28
  - !ruby/object:Gem::Dependency
48
29
  name: bundler
49
30
  requirement: !ruby/object:Gem::Requirement
50
31
  requirements:
51
32
  - - "~>"
52
33
  - !ruby/object:Gem::Version
53
- version: '1.7'
34
+ version: '1.14'
54
35
  type: :development
55
36
  prerelease: false
56
37
  version_requirements: !ruby/object:Gem::Requirement
57
38
  requirements:
58
39
  - - "~>"
59
40
  - !ruby/object:Gem::Version
60
- version: '1.7'
41
+ version: '1.14'
61
42
  - !ruby/object:Gem::Dependency
62
43
  name: rspec
63
44
  requirement: !ruby/object:Gem::Requirement
@@ -78,59 +59,60 @@ dependencies:
78
59
  requirements:
79
60
  - - "~>"
80
61
  - !ruby/object:Gem::Version
81
- version: '10.0'
62
+ version: '12.0'
82
63
  type: :development
83
64
  prerelease: false
84
65
  version_requirements: !ruby/object:Gem::Requirement
85
66
  requirements:
86
67
  - - "~>"
87
68
  - !ruby/object:Gem::Version
88
- version: '10.0'
69
+ version: '12.0'
89
70
  - !ruby/object:Gem::Dependency
90
71
  name: coveralls
91
72
  requirement: !ruby/object:Gem::Requirement
92
73
  requirements:
93
74
  - - "~>"
94
75
  - !ruby/object:Gem::Version
95
- version: 0.8.15
76
+ version: 0.8.20
96
77
  type: :development
97
78
  prerelease: false
98
79
  version_requirements: !ruby/object:Gem::Requirement
99
80
  requirements:
100
81
  - - "~>"
101
82
  - !ruby/object:Gem::Version
102
- version: 0.8.15
83
+ version: 0.8.20
103
84
  - !ruby/object:Gem::Dependency
104
- name: jekyll
85
+ name: pry-nav
105
86
  requirement: !ruby/object:Gem::Requirement
106
87
  requirements:
107
88
  - - "~>"
108
89
  - !ruby/object:Gem::Version
109
- version: '3.3'
90
+ version: 0.2.4
110
91
  type: :development
111
92
  prerelease: false
112
93
  version_requirements: !ruby/object:Gem::Requirement
113
94
  requirements:
114
95
  - - "~>"
115
96
  - !ruby/object:Gem::Version
116
- version: '3.3'
97
+ version: 0.2.4
117
98
  - !ruby/object:Gem::Dependency
118
99
  name: yard
119
100
  requirement: !ruby/object:Gem::Requirement
120
101
  requirements:
121
102
  - - "~>"
122
103
  - !ruby/object:Gem::Version
123
- version: 0.9.5
104
+ version: 0.9.8
124
105
  type: :development
125
106
  prerelease: false
126
107
  version_requirements: !ruby/object:Gem::Requirement
127
108
  requirements:
128
109
  - - "~>"
129
110
  - !ruby/object:Gem::Version
130
- version: 0.9.5
111
+ version: 0.9.8
131
112
  description: URL Extension for the Yt library.
132
113
  email:
133
114
  - claudio@fullscreen.net
115
+ - kang-kyu.lee@fullscreen.net
134
116
  executables: []
135
117
  extensions: []
136
118
  extra_rdoc_files: []
@@ -145,7 +127,6 @@ files:
145
127
  - Rakefile
146
128
  - bin/console
147
129
  - bin/setup
148
- - bin/yt-url
149
130
  - lib/yt/url.rb
150
131
  - lib/yt/url/version.rb
151
132
  - spec/id_spec.rb
@@ -154,7 +135,7 @@ files:
154
135
  - spec/spec_helper.rb
155
136
  - spec/support/server.rb
156
137
  - yt-url.gemspec
157
- homepage: http://github.com/claudiob/yt-url
138
+ homepage: http://github.com/fullscreen/yt-url
158
139
  licenses:
159
140
  - MIT
160
141
  metadata: {}
@@ -174,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
155
  version: 1.3.1
175
156
  requirements: []
176
157
  rubyforge_project:
177
- rubygems_version: 2.6.10
158
+ rubygems_version: 2.6.11
178
159
  signing_key:
179
160
  specification_version: 4
180
161
  summary: Yt::URL helps identify which YouTube resource (video, channel, playlist)
data/bin/yt-url DELETED
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # @example bundle exec bin/yt-url "HBO,trueblood"
3
-
4
- begin
5
- require 'yt/url'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'yt/url'
9
- end
10
-
11
- Yt.configuration.api_key = ENV['YT_SERVER_API_KEY']
12
-
13
- puts "id\tchannel"
14
- ARGV[0].split(',').each do |text|
15
- url = Yt::URL.new text
16
- id = begin
17
- url.id
18
- rescue Yt::Errors::NoItems
19
- '?' * 24
20
- end
21
- puts "#{id}\t#{text}"
22
- end