film_snob 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 706c85faef7c0c647d53936eaa40f02aa317b3ee
4
- data.tar.gz: e2fef7f5a852713cc0ab7afcf32ceac99ce263b6
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTNlZDY4N2M3MGQ1MjE2MTcyZTQyOGJlYTc2MDM5YjI0N2EyMmZhYg==
5
+ data.tar.gz: !binary |-
6
+ ZjhmYWI2YTJhYzU4MjA3YjI1YThkYTNkZTEyOTM0OGVjZTE0NzQwYQ==
5
7
  SHA512:
6
- metadata.gz: a76db3dad486f794978024e750afcc98449c1d48f4732a927e7fa61e8fbe900807c63262dab78bd50a3f38ebcf2f6197982129f780aa116c6339343993a2b561
7
- data.tar.gz: 758e755cd14096c02f5d3e99403b6e5568a5d61652e32570a4317930b0e6b8d6b9055869d4916b216e01a228ba67559d77d778de359d32ad54eafed6a74a397a
8
+ metadata.gz: !binary |-
9
+ ODg4M2I0YTMwMTM5OGUyOTk4NjZiNzlhYTY0MjI3YTg0MTg2MmJlZjY3OWU5
10
+ YmQ4MWRmM2Q5Y2Q3MzU5YzQ3NTBmNWM3NmE2MGQzNjQ3ZjY4NTAyZmI0NWMy
11
+ YWYyMmZmOTU1NDFiYzYwMTA3ZjRmZDc0NGMxMWRlZTJiNGUwMmQ=
12
+ data.tar.gz: !binary |-
13
+ NmU0YTQwMzZkNzg0NjY0NWY3OTBmMjUzODFkYTMzYzI2NmY1ODFmMTI1OWVl
14
+ YjdmYzk0MTk3NDA0YzI3MTUwNTYyYmRiYTJmYjc4MTc3MTNkNzQ1M2IxMmY3
15
+ MzlmNDA0NWI4YjNkY2QxNDgwNmY2YTY2NDFhM2JmMmRlOGYzNTU=
data/README.md CHANGED
@@ -22,14 +22,24 @@ Or install it yourself as:
22
22
  ## Usage
23
23
 
24
24
  ```ruby
25
- snob = FilmSnob.new("https://www.youtube.com/watch?v=GwT3zH16w3s")
26
- snob.watchable? #=> true
27
- snob.site #=> :youtube
28
- snob.id #=> "GwT3zH16w3s"
29
- snob.title #=> "What Are You, The Coolest? With Robert Rodriguez"
30
- snob.html #=> "<iframe width=\"480\" height=\"270\" src=\"http://www.youtube.com/embed/GwT3zH16w3s?feature=oembed\" frameborder=\"0\" allowfullscreen></iframe>"
25
+ film = FilmSnob.new("https://www.youtube.com/watch?v=GwT3zH16w3s")
26
+ film.watchable? #=> true
27
+ film.site #=> :youtube
28
+ film.id #=> "GwT3zH16w3s"
29
+ film.title #=> "What Are You, The Coolest? With Robert Rodriguez"
30
+ film.html #=> "<iframe width=\"480\" height=\"270\" src=\"http://www.youtube.com/embed/GwT3zH16w3s?feature=oembed\" frameborder=\"0\" allowfullscreen></iframe>"
31
31
  ```
32
32
 
33
+ Can also pass some configuration options like this:
34
+
35
+ ```ruby
36
+ film = FilmSnob.new("http://vimeo.com/64683454", width: 720)
37
+ filmtitle #=> "Garann Means - Bacon is bad for you"
38
+ film.html #=> "<iframe src=\"//player.vimeo.com/video/64683454\" width=\"720\" height=\"405\" frameborder=\"0\" title=\"Garann Means - Bacon is bad for you\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>"
39
+ ```
40
+
41
+ film_snob uses the oembed protocol to get html for embed codes. These options assume some knowledge of the endpoint's API. The above vimeo example works because they [have an extensively documented API](http://developer.vimeo.com/apis/oembed) which allows tons of configuration. The other two don't seem to have any documentation or configuration at all.
42
+
33
43
  ## Supported video providers
34
44
 
35
45
  * YouTube
@@ -11,14 +11,15 @@ class FilmSnob
11
11
  Hulu
12
12
  ]
13
13
 
14
- attr_reader :url
14
+ attr_reader :url, :options
15
15
 
16
- def initialize(url)
16
+ def initialize(url, options)
17
17
  @url = url
18
+ @options = options
18
19
  end
19
20
 
20
21
  def video
21
- site.nil?? nil : site.new(url)
22
+ site.nil?? nil : site.new(url, options)
22
23
  end
23
24
 
24
25
  private
@@ -1,3 +1,3 @@
1
1
  class FilmSnob
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -3,10 +3,11 @@ require 'httparty'
3
3
  class FilmSnob
4
4
  class VideoSite
5
5
 
6
- attr_reader :url
6
+ attr_reader :url, :options
7
7
 
8
- def initialize(url)
8
+ def initialize(url, options)
9
9
  @url = url
10
+ @options = options
10
11
  end
11
12
 
12
13
  def id
@@ -48,7 +49,7 @@ class FilmSnob
48
49
  def oembed
49
50
  @oembed ||= HTTParty.get(
50
51
  self.class.oembed_endpoint,
51
- query: { url: clean_url }
52
+ query: { url: clean_url }.merge(options)
52
53
  )
53
54
  end
54
55
 
data/lib/film_snob.rb CHANGED
@@ -5,25 +5,29 @@ require "film_snob/exceptions"
5
5
  class FilmSnob
6
6
  attr_reader :url, :video
7
7
 
8
- def initialize(url)
8
+ def initialize(url, options={})
9
9
  @url = url
10
- @video = FilmSnob::UrlToVideo.new(url).video
10
+ @video = UrlToVideo.new(url, options).video
11
11
  end
12
12
 
13
13
  def watchable?
14
14
  !video.nil?
15
15
  end
16
16
 
17
- def method_missing(m)
18
- if [:site, :id, :clean_url, :title, :html].include?(m)
19
- complain_about_bad_urls!(m)
20
- video.send(m)
17
+ def method_missing(message)
18
+ if delegated_video_methods.include?(message)
19
+ complain_about_bad_urls!(message)
20
+ video.send(message)
21
21
  else
22
22
  super
23
23
  end
24
24
  end
25
25
 
26
26
  private
27
+
28
+ def delegated_video_methods
29
+ [:site, :id, :clean_url, :title, :html]
30
+ end
27
31
 
28
32
  def complain_about_bad_urls!(method)
29
33
  raise NotSupportedURLError.new("Can not call FilmSnob##{method} because #{url} is not a supported URL.") unless watchable?
@@ -13,31 +13,29 @@ http_interactions:
13
13
  message: Not Found
14
14
  headers:
15
15
  Date:
16
- - Sun, 13 Apr 2014 22:47:31 GMT
16
+ - Tue, 15 Apr 2014 02:52:18 GMT
17
17
  Server:
18
18
  - gwiseguy/2.0
19
- Content-Type:
20
- - text/html; charset=utf-8
21
- X-Xss-Protection:
22
- - 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube
23
- X-Frame-Options:
24
- - ALLOWALL
25
- Cache-Control:
26
- - no-cache
19
+ X-Content-Type-Options:
20
+ - nosniff
27
21
  P3p:
28
22
  - CP="This is not a P3P policy! See http://support.google.com/accounts/bin/answer.py?answer=151657&hl=en
29
23
  for more info."
24
+ X-Frame-Options:
25
+ - ALLOWALL
30
26
  Expires:
31
27
  - Tue, 27 Apr 1971 19:44:06 EST
32
- X-Content-Type-Options:
33
- - nosniff
28
+ X-Xss-Protection:
29
+ - 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube
30
+ Cache-Control:
31
+ - no-cache
32
+ Content-Type:
33
+ - text/html; charset=utf-8
34
34
  Content-Length:
35
35
  - '9'
36
- Alternate-Protocol:
37
- - 443:quic
38
36
  body:
39
- encoding: UTF-8
37
+ encoding: US-ASCII
40
38
  string: Not Found
41
39
  http_version:
42
- recorded_at: Sun, 13 Apr 2014 22:47:31 GMT
40
+ recorded_at: Tue, 15 Apr 2014 02:52:19 GMT
43
41
  recorded_with: VCR 2.9.0
@@ -13,38 +13,36 @@ http_interactions:
13
13
  message: OK
14
14
  headers:
15
15
  Date:
16
- - Sun, 13 Apr 2014 22:37:31 GMT
16
+ - Tue, 15 Apr 2014 02:52:15 GMT
17
17
  Server:
18
18
  - gwiseguy/2.0
19
+ X-Frame-Options:
20
+ - ALLOWALL
21
+ X-Xss-Protection:
22
+ - 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube
23
+ Expires:
24
+ - Tue, 27 Apr 1971 19:44:06 EST
19
25
  X-Content-Type-Options:
20
26
  - nosniff
21
27
  P3p:
22
28
  - CP="This is not a P3P policy! See http://support.google.com/accounts/bin/answer.py?answer=151657&hl=en
23
29
  for more info."
24
- X-Xss-Protection:
25
- - 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube
26
30
  Content-Type:
27
31
  - application/json
28
- X-Frame-Options:
29
- - ALLOWALL
30
- Expires:
31
- - Tue, 27 Apr 1971 19:44:06 EST
32
32
  Cache-Control:
33
33
  - no-cache
34
- Alternate-Protocol:
35
- - 443:quic
36
34
  Transfer-Encoding:
37
35
  - chunked
38
36
  body:
39
- encoding: UTF-8
40
- string: '{"title": "Billy on the Street: Amateur Speed Sketching!", "author_name":
41
- "billyonthestreettv", "height": 270, "width": 480, "thumbnail_width": 480,
42
- "author_url": "http:\/\/www.youtube.com\/user\/billyonthestreettv", "thumbnail_height":
43
- 360, "type": "video", "thumbnail_url": "http:\/\/i1.ytimg.com\/vi\/7q5Ltr0qc8c\/hqdefault.jpg",
44
- "provider_url": "http:\/\/www.youtube.com\/", "html": "\u003ciframe width=\"480\"
45
- height=\"270\" src=\"http:\/\/www.youtube.com\/embed\/7q5Ltr0qc8c?feature=oembed\"
46
- frameborder=\"0\" allowfullscreen\u003e\u003c\/iframe\u003e", "version": "1.0",
47
- "provider_name": "YouTube"}'
37
+ encoding: US-ASCII
38
+ string: ! '{"type": "video", "provider_url": "http:\/\/www.youtube.com\/", "thumbnail_url":
39
+ "http:\/\/i1.ytimg.com\/vi\/7q5Ltr0qc8c\/hqdefault.jpg", "thumbnail_height":
40
+ 360, "width": 480, "provider_name": "YouTube", "author_url": "http:\/\/www.youtube.com\/user\/billyonthestreettv",
41
+ "title": "Billy on the Street: Amateur Speed Sketching!", "thumbnail_width":
42
+ 480, "version": "1.0", "html": "\u003ciframe width=\"480\" height=\"270\"
43
+ src=\"http:\/\/www.youtube.com\/embed\/7q5Ltr0qc8c?feature=oembed\" frameborder=\"0\"
44
+ allowfullscreen\u003e\u003c\/iframe\u003e", "height": 270, "author_name":
45
+ "billyonthestreettv"}'
48
46
  http_version:
49
- recorded_at: Sun, 13 Apr 2014 22:37:31 GMT
47
+ recorded_at: Tue, 15 Apr 2014 02:52:17 GMT
50
48
  recorded_with: VCR 2.9.0
@@ -25,19 +25,19 @@ http_interactions:
25
25
  Accept-Ranges:
26
26
  - bytes
27
27
  Cache-Control:
28
- - max-age=3568
28
+ - max-age=3600
29
29
  Date:
30
- - Sun, 13 Apr 2014 22:40:14 GMT
30
+ - Tue, 15 Apr 2014 02:52:16 GMT
31
31
  Connection:
32
32
  - keep-alive
33
33
  body:
34
- encoding: UTF-8
35
- string: '{"cache_age":3600,"type":"video","large_thumbnail_url":"http://ib.huluim.com/video/50172061?size=512x288&caller=h1o&img=i","height":296,"html":"<iframe
34
+ encoding: US-ASCII
35
+ string: ! '{"cache_age":3600,"type":"video","large_thumbnail_url":"http://ib.huluim.com/video/50172061?size=512x288&caller=h1o&img=i","height":296,"html":"<iframe
36
36
  width=\"512\" height=\"296\" src=\"http://www.hulu.com/embed.html?eid=CbtnRM8PBJsCfZpUy2V3Yg\"
37
37
  frameborder=\"0\" scrolling=\"no\" webkitAllowFullScreen mozallowfullscreen
38
38
  allowfullscreen> </iframe>","large_thumbnail_width":512,"embed_url":"http://www.hulu.com/embed.html?eid=CbtnRM8PBJsCfZpUy2V3Yg","air_date":"Thu
39
39
  Oct 13 00:00:00 UTC 2011","large_thumbnail_height":288,"thumbnail_url":"http://ib.huluim.com/video/50172061?size=145x80&caller=h1o&img=i","author_name":"NBC","provider_name":"Hulu","title":"Remedial
40
40
  Chaos Theory (Community)","thumbnail_width":145,"provider_url":"http://www.hulu.com/","duration":1286.87,"version":"1.0","thumbnail_height":80,"width":512}'
41
41
  http_version:
42
- recorded_at: Sun, 13 Apr 2014 22:40:14 GMT
42
+ recorded_at: Tue, 15 Apr 2014 02:52:18 GMT
43
43
  recorded_with: VCR 2.9.0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://vimeo.com/api/oembed.json?url=https://vimeo.com/31158841&width=400
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Age:
16
+ - '1'
17
+ Date:
18
+ - Tue, 15 Apr 2014 02:52:16 GMT
19
+ Expires:
20
+ - Tue, 15 Apr 2014 02:53:16 GMT
21
+ Content-Length:
22
+ - '793'
23
+ Connection:
24
+ - Keep-Alive
25
+ Via:
26
+ - 1.1 varnish
27
+ - dnet-dca
28
+ Etag:
29
+ - ! '"e19e6eea37661a8e029d8f8e3b2116f3e97ea8f0"'
30
+ Server:
31
+ - Apache
32
+ Access-Control-Allow-Origin:
33
+ - ! '*'
34
+ Access-Control-Allow-Headers:
35
+ - X-Requested-With
36
+ Last-Modified:
37
+ - Tue, 15 Apr 2014 02:10:30 GMT
38
+ Vary:
39
+ - Accept-Encoding
40
+ Content-Type:
41
+ - application/json
42
+ X-Varnish:
43
+ - '1677378251'
44
+ X-Varnish-Cache:
45
+ - '0'
46
+ Nncoection:
47
+ - close
48
+ X-Vserver:
49
+ - 10.90.128.197
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ! '{"type":"video","version":"1.0","provider_name":"Vimeo","provider_url":"https:\/\/vimeo.com\/","title":"Murmuration","author_name":"Islands
53
+ & Rivers","author_url":"http:\/\/vimeo.com\/islandsandrivers","is_plus":"1","html":"<iframe
54
+ src=\"\/\/player.vimeo.com\/video\/31158841\" width=\"400\" height=\"300\"
55
+ frameborder=\"0\" title=\"Murmuration\" webkitallowfullscreen mozallowfullscreen
56
+ allowfullscreen><\/iframe>","width":400,"height":300,"duration":123,"description":"www.islandsandrivers.com\n\nFacebook:
57
+ Islands And Rivers\n\nFollow us @Islands_Rivers\n\nA chance encounter and
58
+ shared moment with one of natures greatest and most fleeting phenomena.","thumbnail_url":"http:\/\/i.vimeocdn.com\/video\/448600816_295x166.jpg","thumbnail_width":295,"thumbnail_height":221,"video_id":31158841}'
59
+ http_version:
60
+ recorded_at: Tue, 15 Apr 2014 02:52:17 GMT
61
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,58 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://vimeo.com/api/oembed.json?url=https://vimeo.com/31158841&width=500
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Server:
16
+ - Apache
17
+ Access-Control-Allow-Origin:
18
+ - ! '*'
19
+ Access-Control-Allow-Headers:
20
+ - X-Requested-With
21
+ Expires:
22
+ - Tue, 15 Apr 2014 02:52:58 GMT
23
+ Last-Modified:
24
+ - Tue, 15 Apr 2014 02:10:30 GMT
25
+ Etag:
26
+ - ! '"e19e6eea37661a8e029d8f8e3b2116f3e97ea8f0"'
27
+ Vary:
28
+ - Accept-Encoding
29
+ Content-Type:
30
+ - application/json
31
+ Transfer-Encoding:
32
+ - chunked
33
+ Date:
34
+ - Tue, 15 Apr 2014 02:52:16 GMT
35
+ X-Varnish:
36
+ - 2146795868 2146790599
37
+ Age:
38
+ - '18'
39
+ Via:
40
+ - 1.1 varnish
41
+ X-Varnish-Cache:
42
+ - '1'
43
+ Nncoection:
44
+ - close
45
+ X-Vserver:
46
+ - 10.90.128.188
47
+ body:
48
+ encoding: US-ASCII
49
+ string: ! '{"type":"video","version":"1.0","provider_name":"Vimeo","provider_url":"https:\/\/vimeo.com\/","title":"Murmuration","author_name":"Islands
50
+ & Rivers","author_url":"http:\/\/vimeo.com\/islandsandrivers","is_plus":"1","html":"<iframe
51
+ src=\"\/\/player.vimeo.com\/video\/31158841\" width=\"500\" height=\"375\"
52
+ frameborder=\"0\" title=\"Murmuration\" webkitallowfullscreen mozallowfullscreen
53
+ allowfullscreen><\/iframe>","width":500,"height":375,"duration":123,"description":"www.islandsandrivers.com\n\nFacebook:
54
+ Islands And Rivers\n\nFollow us @Islands_Rivers\n\nA chance encounter and
55
+ shared moment with one of natures greatest and most fleeting phenomena.","thumbnail_url":"http:\/\/i.vimeocdn.com\/video\/448600816_295x166.jpg","thumbnail_width":295,"thumbnail_height":221,"video_id":31158841}'
56
+ http_version:
57
+ recorded_at: Tue, 15 Apr 2014 02:52:17 GMT
58
+ recorded_with: VCR 2.9.0
@@ -15,19 +15,15 @@ http_interactions:
15
15
  Server:
16
16
  - Apache
17
17
  Access-Control-Allow-Origin:
18
- - '*'
18
+ - ! '*'
19
19
  Access-Control-Allow-Headers:
20
20
  - X-Requested-With
21
21
  Expires:
22
- - Sun, 13 Apr 2014 22:40:15 GMT
22
+ - Tue, 15 Apr 2014 02:53:16 GMT
23
23
  Last-Modified:
24
24
  - Sun, 13 Apr 2014 19:06:59 GMT
25
25
  Etag:
26
- - '"3ee9abac968dd90ff3d61a6c3ed1e6aac5a93a7d"'
27
- X-Ua-Compatible:
28
- - IE=edge
29
- X-Dns-Prefetch-Control:
30
- - 'on'
26
+ - ! '"3ee9abac968dd90ff3d61a6c3ed1e6aac5a93a7d"'
31
27
  Vary:
32
28
  - Accept-Encoding
33
29
  Content-Type:
@@ -35,22 +31,22 @@ http_interactions:
35
31
  Transfer-Encoding:
36
32
  - chunked
37
33
  Date:
38
- - Sun, 13 Apr 2014 22:39:15 GMT
34
+ - Tue, 15 Apr 2014 02:52:16 GMT
39
35
  X-Varnish:
40
- - '2109561577'
36
+ - '273732503'
41
37
  Age:
42
38
  - '0'
43
39
  Via:
44
40
  - 1.1 varnish
45
41
  X-Varnish-Cache:
46
42
  - '0'
47
- Nncoection:
43
+ Cneonction:
48
44
  - close
49
45
  X-Vserver:
50
- - 10.90.128.188
46
+ - 10.90.128.147
51
47
  body:
52
- encoding: UTF-8
53
- string: '{"type":"video","version":"1.0","provider_name":"Vimeo","provider_url":"https:\/\/vimeo.com\/","title":"Days
48
+ encoding: US-ASCII
49
+ string: ! '{"type":"video","version":"1.0","provider_name":"Vimeo","provider_url":"https:\/\/vimeo.com\/","title":"Days
54
50
  Like Today","author_name":"Stephen_Scott_Day","author_url":"http:\/\/vimeo.com\/stephenscottday","is_plus":"1","html":"<iframe
55
51
  src=\"\/\/player.vimeo.com\/video\/16010689\" width=\"1280\" height=\"720\"
56
52
  frameborder=\"0\" title=\"Days Like Today\" webkitallowfullscreen mozallowfullscreen
@@ -59,5 +55,5 @@ http_interactions:
59
55
  the whole thing, but if you do, lemme know. \n\nTuesday, October 19th, 2010.
60
56
  Somewhere between 3:40pm and 3:50pm. Alhambra, CA.","thumbnail_url":"http:\/\/i.vimeocdn.com\/video\/97388869_1280.jpg","thumbnail_width":1280,"thumbnail_height":720,"video_id":16010689}'
61
57
  http_version:
62
- recorded_at: Sun, 13 Apr 2014 22:39:15 GMT
58
+ recorded_at: Tue, 15 Apr 2014 02:52:17 GMT
63
59
  recorded_with: VCR 2.9.0
@@ -94,7 +94,17 @@ describe FilmSnob do
94
94
  expect(snob2.site).to eq :vimeo
95
95
  expect(snob2.clean_url).to eq 'https://vimeo.com/51020067'
96
96
  end
97
-
97
+
98
+ it 'should allow oembed configuration' do
99
+ snob = FilmSnob.new("http://vimeo.com/31158841", width: 400)
100
+ VCR.use_cassette "murmuration" do
101
+ expect(snob.html).to match %r{width="400"}
102
+ end
103
+ snob2 = FilmSnob.new("http://vimeo.com/31158841", width: 500)
104
+ VCR.use_cassette "murmuration2" do
105
+ expect(snob2.html).to match %r{width="500"}
106
+ end
107
+ end
98
108
 
99
109
  end
100
110
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: film_snob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Jacobson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-13 00:00:00.000000000 Z
11
+ date: 2014-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,14 +28,14 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
@@ -84,14 +84,14 @@ dependencies:
84
84
  name: debugger
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ! '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
@@ -134,6 +134,8 @@ files:
134
134
  - spec/cassettes/bad_youtube_url.yml
135
135
  - spec/cassettes/billy.yml
136
136
  - spec/cassettes/harmon.yml
137
+ - spec/cassettes/murmuration.yml
138
+ - spec/cassettes/murmuration2.yml
137
139
  - spec/cassettes/stephen.yml
138
140
  - spec/film_snob_spec.rb
139
141
  - spec/spec_helper.rb
@@ -148,12 +150,12 @@ require_paths:
148
150
  - lib
149
151
  required_ruby_version: !ruby/object:Gem::Requirement
150
152
  requirements:
151
- - - '>='
153
+ - - ! '>='
152
154
  - !ruby/object:Gem::Version
153
155
  version: '0'
154
156
  required_rubygems_version: !ruby/object:Gem::Requirement
155
157
  requirements:
156
- - - '>='
158
+ - - ! '>='
157
159
  - !ruby/object:Gem::Version
158
160
  version: '0'
159
161
  requirements: []
@@ -167,6 +169,8 @@ test_files:
167
169
  - spec/cassettes/bad_youtube_url.yml
168
170
  - spec/cassettes/billy.yml
169
171
  - spec/cassettes/harmon.yml
172
+ - spec/cassettes/murmuration.yml
173
+ - spec/cassettes/murmuration2.yml
170
174
  - spec/cassettes/stephen.yml
171
175
  - spec/film_snob_spec.rb
172
176
  - spec/spec_helper.rb