youtube_search 0.1.7 → 0.1.8

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8d405bad41204bd5c4d7fcb56088c49f2a2ac77c
4
+ data.tar.gz: 317b727de0726b687bdedbd14d3825f7e16563da
5
+ SHA512:
6
+ metadata.gz: 5730da647343599f349413f3711454362a3c118824dbb29e349333ea5124e19b5b3fa4ac75a33d17a263dfd6c4a79a025f830d0168d070bfb8ae3c31db585a73
7
+ data.tar.gz: b1d9eb9d4f98ab68cec1bb38d956974c29fc33b391c5102ca8e02910f59e667c7f44fa8d001dba5749f62cf5408d3403467dac12810669405341351e2378e116
data/.travis.yml CHANGED
@@ -1,5 +1,5 @@
1
- script: "bundle exec rake"
2
1
  rvm:
3
2
  - ree
4
- - 1.9.2
5
3
  - 1.9.3
4
+ - 2.0.0
5
+ - 2.1.2
data/Gemfile CHANGED
@@ -1,7 +1,6 @@
1
- source :rubygems
1
+ source "https://rubygems.org"
2
2
  gemspec
3
3
 
4
- group :development do
5
- gem 'rake'
6
- gem 'rspec', '~>2'
7
- end
4
+ gem 'rake'
5
+ gem 'rspec', '~>2'
6
+ gem 'bump'
data/Gemfile.lock CHANGED
@@ -1,26 +1,28 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- youtube_search (0.1.7)
4
+ youtube_search (0.1.8)
5
5
 
6
6
  GEM
7
- remote: http://rubygems.org/
7
+ remote: https://rubygems.org/
8
8
  specs:
9
- diff-lcs (1.1.3)
10
- rake (0.9.2)
11
- rspec (2.6.0)
12
- rspec-core (~> 2.6.0)
13
- rspec-expectations (~> 2.6.0)
14
- rspec-mocks (~> 2.6.0)
15
- rspec-core (2.6.4)
16
- rspec-expectations (2.6.0)
17
- diff-lcs (~> 1.1.2)
18
- rspec-mocks (2.6.0)
9
+ bump (0.5.0)
10
+ diff-lcs (1.2.5)
11
+ rake (10.3.2)
12
+ rspec (2.99.0)
13
+ rspec-core (~> 2.99.0)
14
+ rspec-expectations (~> 2.99.0)
15
+ rspec-mocks (~> 2.99.0)
16
+ rspec-core (2.99.0)
17
+ rspec-expectations (2.99.0)
18
+ diff-lcs (>= 1.1.3, < 2.0)
19
+ rspec-mocks (2.99.1)
19
20
 
20
21
  PLATFORMS
21
22
  ruby
22
23
 
23
24
  DEPENDENCIES
25
+ bump
24
26
  rake
25
27
  rspec (~> 2)
26
28
  youtube_search!
data/Rakefile CHANGED
@@ -1,24 +1,11 @@
1
1
  require "bundler/setup"
2
2
  require "bundler/gem_tasks"
3
+ require "bump/tasks"
3
4
 
4
5
  task :default do
5
6
  sh "rspec spec/"
6
7
  end
7
8
 
8
- rule /^version:bump:.*/ do |t|
9
- sh "git status | grep 'nothing to commit'" # ensure we are not dirty
10
- index = ['major', 'minor','patch'].index(t.name.split(':').last)
11
- file = 'lib/youtube_search/version.rb'
12
-
13
- version_file = File.read(file)
14
- old_version, *version_parts = version_file.match(/(\d+)\.(\d+)\.(\d+)/).to_a
15
- version_parts[index] = version_parts[index].to_i + 1
16
- new_version = version_parts * '.'
17
- File.open(file,'w'){|f| f.write(version_file.sub(old_version, new_version)) }
18
-
19
- sh "bundle && git add #{file} Gemfile.lock && git commit -m 'bump version to #{new_version}'"
20
- end
21
-
22
9
  desc "Update fixtures by downloading them"
23
10
  task :update_fixtures do
24
11
  require 'youtube_search'
data/Readme.md CHANGED
@@ -59,6 +59,7 @@ Author
59
59
  ### [Contributors](http://github.com/grosser/youtube_search/contributors)
60
60
  - [David Gil](https://qoolife.com)
61
61
  - [Jim Jones](https://github.com/aantix)
62
+ - [Sławek](https://github.com/sbogutyn)
62
63
 
63
64
  [Michael Grosser](http://grosser.it)<br/>
64
65
  michael@grosser.it<br/>
@@ -19,10 +19,14 @@ module YoutubeSearch
19
19
  search_page("https://gdata.youtube.com/feeds/api/playlists/snippets", query, options.merge(:v => 2))
20
20
  end
21
21
 
22
- def playlist_videos(playlist_id)
22
+ def playlist_videos(playlist_id, options={})
23
23
  playlist_id = playlist_id.sub(/^PL/, "")
24
- xml = open("http://gdata.youtube.com/feeds/api/playlists/#{playlist_id}?v=2").read
25
- parse(xml, :type => :playlist)
24
+ res = open("http://gdata.youtube.com/feeds/api/playlists/#{playlist_id}?v=2#{'&alt=json' if options[:format] == :json}").read
25
+ if options[:format] == :json
26
+ res
27
+ else
28
+ parse(res, :type => :playlist)
29
+ end
26
30
  end
27
31
 
28
32
  def parse(xml, options={})
@@ -1,3 +1,3 @@
1
1
  module YoutubeSearch
2
- VERSION = '0.1.7'
2
+ VERSION = '0.1.8'
3
3
  end
@@ -0,0 +1,122 @@
1
+ [{"id"=>
2
+ "tag:youtube.com,2008:playlist:5F23DAF4BFE3D14C:PLkRk0fUfl9UJvHjGFHgPSakUFmztBgGKG",
3
+ "published"=>"2011-11-30T13:55:52.000Z",
4
+ "updated"=>"1970-01-01T00:00:00.000Z",
5
+ "category"=>nil,
6
+ "title"=>"Osteopatia y terapias manuales",
7
+ "content"=>nil,
8
+ "link"=>nil,
9
+ "author"=>nil,
10
+ "accessControl"=>nil,
11
+ "comments"=>nil,
12
+ "where"=>nil,
13
+ "group"=>nil,
14
+ "rating"=>nil,
15
+ "recorded"=>"2010-01-08",
16
+ "statistics"=>nil,
17
+ "position"=>"1",
18
+ "video_id"=>"5wU-yHnq7Hs",
19
+ "duration"=>"192",
20
+ "embeddable"=>true,
21
+ "raw"=>''},
22
+ {"id"=>
23
+ "tag:youtube.com,2008:playlist:5F23DAF4BFE3D14C:PLkRk0fUfl9UKdlAKbbMWlfjo9ojnLihjF",
24
+ "published"=>"2011-11-30T13:55:52.000Z",
25
+ "updated"=>"1970-01-01T00:00:00.000Z",
26
+ "category"=>nil,
27
+ "title"=>"Rizartrosis y Tendinitis de Quervain.m4v",
28
+ "content"=>nil,
29
+ "link"=>nil,
30
+ "author"=>nil,
31
+ "accessControl"=>nil,
32
+ "comments"=>nil,
33
+ "where"=>nil,
34
+ "group"=>nil,
35
+ "rating"=>nil,
36
+ "recorded"=>"2010-06-21",
37
+ "statistics"=>nil,
38
+ "position"=>"2",
39
+ "video_id"=>"QC1GLNiPtSY",
40
+ "duration"=>"92",
41
+ "embeddable"=>true,
42
+ "raw"=>''},
43
+ {"id"=>
44
+ "tag:youtube.com,2008:playlist:5F23DAF4BFE3D14C:PLkRk0fUfl9UKKop_MiyjnvNikUPNEYsZ2",
45
+ "published"=>"2011-11-30T13:55:52.000Z",
46
+ "updated"=>"1970-01-01T00:00:00.000Z",
47
+ "category"=>nil,
48
+ "title"=>"Sesamoiditis y tendinitis del primer metatarsiano 1",
49
+ "content"=>nil,
50
+ "link"=>nil,
51
+ "author"=>nil,
52
+ "accessControl"=>nil,
53
+ "comments"=>nil,
54
+ "location"=>"Avenica camino de santiago 31 madrid",
55
+ "group"=>nil,
56
+ "rating"=>nil,
57
+ "recorded"=>"2010-03-03",
58
+ "statistics"=>nil,
59
+ "position"=>"3",
60
+ "video_id"=>"GObLbr3pQag",
61
+ "duration"=>"120",
62
+ "embeddable"=>true,
63
+ "raw"=>''},
64
+ {"id"=>
65
+ "tag:youtube.com,2008:playlist:5F23DAF4BFE3D14C:PLkRk0fUfl9UL7bE4uNUuJI9zDGcm3a5lc",
66
+ "published"=>"2011-11-30T13:55:52.000Z",
67
+ "updated"=>"1970-01-01T00:00:00.000Z",
68
+ "category"=>nil,
69
+ "title"=>"Drenaje linfático gestacional",
70
+ "content"=>nil,
71
+ "link"=>nil,
72
+ "author"=>nil,
73
+ "accessControl"=>nil,
74
+ "comments"=>nil,
75
+ "where"=>nil,
76
+ "group"=>nil,
77
+ "rating"=>nil,
78
+ "recorded"=>"2010-01-08",
79
+ "statistics"=>nil,
80
+ "position"=>"4",
81
+ "video_id"=>"SDurBqiV4kk",
82
+ "duration"=>"130",
83
+ "embeddable"=>true,
84
+ "raw"=>''},
85
+ {"id"=>
86
+ "tag:youtube.com,2008:playlist:5F23DAF4BFE3D14C:PLkRk0fUfl9UK9Qb2pwCziSRuXJdMWvKzp",
87
+ "published"=>"2011-11-30T13:55:52.000Z",
88
+ "updated"=>"1970-01-01T00:00:00.000Z",
89
+ "category"=>nil,
90
+ "title"=>
91
+ "Clínica VASS en Las Mañanas de la 1 - Tratamiento de estreñimiento infantil y de adultos.wmv",
92
+ "content"=>nil,
93
+ "link"=>nil,
94
+ "author"=>nil,
95
+ "accessControl"=>nil,
96
+ "comments"=>nil,
97
+ "group"=>nil,
98
+ "rating"=>nil,
99
+ "statistics"=>nil,
100
+ "position"=>"5",
101
+ "video_id"=>"FcTOgyk8hdk",
102
+ "duration"=>"207",
103
+ "embeddable"=>true,
104
+ "raw"=>''},
105
+ {"id"=>
106
+ "tag:youtube.com,2008:playlist:5F23DAF4BFE3D14C:PLkRk0fUfl9UJjAJ_IhEXk66NLSWsf8ORa",
107
+ "published"=>"2011-11-30T13:55:52.000Z",
108
+ "updated"=>"1970-01-01T00:00:00.000Z",
109
+ "category"=>nil,
110
+ "title"=>"Clínica VASS en TVE - Las mañanas de la 1",
111
+ "content"=>nil,
112
+ "link"=>nil,
113
+ "author"=>nil,
114
+ "accessControl"=>nil,
115
+ "comments"=>nil,
116
+ "group"=>nil,
117
+ "statistics"=>nil,
118
+ "position"=>"6",
119
+ "video_id"=>"QqepLC4z4lk",
120
+ "duration"=>"189",
121
+ "embeddable"=>true,
122
+ "raw"=>''}]
data/spec/spec_helper.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  require 'youtube_search'
2
2
  require 'youtube_search/version'
3
+ require 'json'
@@ -105,6 +105,13 @@ describe YoutubeSearch do
105
105
  YoutubeSearch.playlist_videos(id).size.should == 6
106
106
  id.should == 'PL5F23DAF4BFE3D14C'
107
107
  end
108
+
109
+ it "can retrieve videos from a playlist in json format" do
110
+ videos = JSON.parse(
111
+ YoutubeSearch.playlist_videos('5F23DAF4BFE3D14C', :format => :json)
112
+ )['feed']['entry']
113
+ videos.size.should == 6
114
+ end
108
115
  end
109
116
 
110
117
  describe 'options_with_per_page_and_page' do
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: youtube_search
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
5
- prerelease:
4
+ version: 0.1.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Michael Grosser
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-10-23 00:00:00.000000000 Z
11
+ date: 2014-06-20 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description:
15
14
  email: michael@grosser.it
@@ -17,13 +16,14 @@ executables: []
17
16
  extensions: []
18
17
  extra_rdoc_files: []
19
18
  files:
20
- - .travis.yml
19
+ - ".travis.yml"
21
20
  - Gemfile
22
21
  - Gemfile.lock
23
22
  - Rakefile
24
23
  - Readme.md
25
24
  - lib/youtube_search.rb
26
25
  - lib/youtube_search/version.rb
26
+ - spec/fixtures/playlist_5F23DAF4BFE3D14C.json
27
27
  - spec/fixtures/playlist_5F23DAF4BFE3D14C.xml
28
28
  - spec/fixtures/playlist_search_google_developers.xml
29
29
  - spec/fixtures/search_boat.xml
@@ -32,32 +32,25 @@ files:
32
32
  - youtube_search.gemspec
33
33
  homepage: http://github.com/grosser/youtube_search
34
34
  licenses: []
35
+ metadata: {}
35
36
  post_install_message:
36
37
  rdoc_options: []
37
38
  require_paths:
38
39
  - lib
39
40
  required_ruby_version: !ruby/object:Gem::Requirement
40
- none: false
41
41
  requirements:
42
- - - ! '>='
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  version: '0'
45
- segments:
46
- - 0
47
- hash: 3459774421514102867
48
45
  required_rubygems_version: !ruby/object:Gem::Requirement
49
- none: false
50
46
  requirements:
51
- - - ! '>='
47
+ - - ">="
52
48
  - !ruby/object:Gem::Version
53
49
  version: '0'
54
- segments:
55
- - 0
56
- hash: 3459774421514102867
57
50
  requirements: []
58
51
  rubyforge_project:
59
- rubygems_version: 1.8.24
52
+ rubygems_version: 2.2.2
60
53
  signing_key:
61
- specification_version: 3
54
+ specification_version: 4
62
55
  summary: Search youtube via this simple ruby api
63
56
  test_files: []