yt 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 15eb05d2e208d7879df8f1782afe21ce6180a00b
4
- data.tar.gz: 6988cf951189228e648dab9af35584be0ba41370
3
+ metadata.gz: b117eddfc2f87b57eb4a4ea124ff8f45e5308deb
4
+ data.tar.gz: 72074157314c69230eeb90a8c28e074611d20314
5
5
  SHA512:
6
- metadata.gz: 800515d67a7c6b4a905d2fd2f70c65f51552a26848a540d0abd603dc2b7c65dc89c30a94ea079e0a1744594cbfe981e5359b8ac1780f97d94d26c3a6de7005f1
7
- data.tar.gz: 0b97816f0f4dcefbb5fc50794abae380293f19cb1db44aa10ca0ccaa2af7056700809aff7fdcf6181a8b88db59ba5735d02c6bea397ae4f6de21d806fb1d8a38
6
+ metadata.gz: 4e7af1b76ea03b99058c314acac896692c4090351f0896b733e9366bf1a7864d51bf17d5c0a7637bd4630fb1ffe4faa56a5a85b1928783d856f314b00c285f27
7
+ data.tar.gz: df8230eba2a407722778e30d76c557047967ba1d8f5456f392c186cbd8d9ec8bebebf482dc0775830ced1d0f5bf60ece22d4f8a59734aa8f1bef078b4bcac908
data/CHANGELOG.md CHANGED
@@ -6,6 +6,10 @@ 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
+ ## 0.10.1 - 2014-08-11
10
+
11
+ * [BUGFIX] Make Yt work on Ruby 1.9.3 / ActiveSupport 3.0 again (was broken by 0.10.0)
12
+
9
13
  ## 0.10.0 - 2014-08-11
10
14
 
11
15
  **How to upgrade**
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- yt (0.10.0)
4
+ yt (0.10.1)
5
5
  activesupport
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -41,7 +41,7 @@ To install on your system, run
41
41
 
42
42
  To use inside a bundled Ruby project, add this line to the Gemfile:
43
43
 
44
- gem 'yt', '~> 0.10.0'
44
+ gem 'yt', '~> 0.10.1'
45
45
 
46
46
  Since the gem follows [Semantic Versioning](http://semver.org),
47
47
  indicating the full version in your Gemfile (~> *major*.*minor*.*patch*)
@@ -1,4 +1,5 @@
1
1
  require 'yt/models/request'
2
+ require 'yt/models/iterator'
2
3
  require 'yt/errors/no_items'
3
4
 
4
5
  module Yt
@@ -15,7 +16,7 @@ module Yt
15
16
 
16
17
  def list
17
18
  @last_index, @page_token = 0, nil
18
- Enumerator.new(-> {total_results}) do |items|
19
+ Yt::Iterator.new(-> {total_results}) do |items|
19
20
  while next_item = find_next
20
21
  items << next_item
21
22
  end
@@ -0,0 +1,15 @@
1
+ module Yt
2
+ module Models
3
+ # If we dropped support for Ruby 1.9.3, then we could simply use Enumerator
4
+ # which takes a `size` parameter in Ruby >= 2.
5
+ class Iterator < Enumerator
6
+ def initialize(size=nil, &block)
7
+ RUBY_VERSION < '2' ? super(&block) : super(size, &block)
8
+ end
9
+
10
+ def size
11
+ RUBY_VERSION < '2' ? count : super
12
+ end
13
+ end
14
+ end
15
+ end
data/lib/yt/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yt
2
- VERSION = '0.10.0'
2
+ VERSION = '0.10.1'
3
3
  end
@@ -7,7 +7,7 @@ describe Yt::Collections::Videos do
7
7
  let(:channel) { Yt::Channel.new id: 'any-id' }
8
8
  let(:page) { {items: [], token: 'any-token'} }
9
9
 
10
- describe '#size' do
10
+ describe '#size', :ruby2 do
11
11
  describe 'sends only one request and return the total results' do
12
12
  let(:total_results) { 123456 }
13
13
  before do
@@ -2,11 +2,14 @@ require 'spec_helper'
2
2
  require 'yt/models/content_owner'
3
3
 
4
4
  describe Yt::ContentOwner, :partner do
5
- describe '.partnered_channels' do
6
- it { expect($content_owner.partnered_channels.size).to be > 0 }
5
+ describe '.partnered_channels.first' do
7
6
  it { expect($content_owner.partnered_channels.first).to be_a Yt::Channel }
8
7
  end
9
8
 
9
+ describe '.partnered_channels.size', :ruby2 do
10
+ it { expect($content_owner.partnered_channels.size).to be > 0 }
11
+ end
12
+
10
13
  describe '.claims' do
11
14
  describe 'given the content owner has policies' do
12
15
  let(:claim) { $content_owner.claims.first }
data/spec/spec_helper.rb CHANGED
@@ -11,4 +11,8 @@ Dir['./spec/support/**/*.rb'].each {|f| require f}
11
11
 
12
12
  RSpec.configure do |config|
13
13
  config.order = 'random'
14
+ config.run_all_when_everything_filtered = false
15
+ # @note: Some tests might take too long to run on Ruby 1.9.3 which does not
16
+ # support "size" for Enumerator, so we are better off skipping them.
17
+ config.filter_run_excluding ruby2: true if RUBY_VERSION < '2'
14
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claudio Baccigalupo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-11 00:00:00.000000000 Z
11
+ date: 2014-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -175,6 +175,7 @@ files:
175
175
  - lib/yt/models/description.rb
176
176
  - lib/yt/models/device_flow.rb
177
177
  - lib/yt/models/id.rb
178
+ - lib/yt/models/iterator.rb
178
179
  - lib/yt/models/live_streaming_detail.rb
179
180
  - lib/yt/models/playlist.rb
180
181
  - lib/yt/models/playlist_item.rb