film_snob 0.2.1 → 0.3.0
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 +13 -5
- data/README.md +16 -6
- data/lib/film_snob/url_to_video.rb +4 -3
- data/lib/film_snob/version.rb +1 -1
- data/lib/film_snob/video_site.rb +4 -3
- data/lib/film_snob.rb +10 -6
- data/spec/cassettes/bad_youtube_url.yml +13 -15
- data/spec/cassettes/billy.yml +17 -19
- data/spec/cassettes/harmon.yml +5 -5
- data/spec/cassettes/murmuration.yml +61 -0
- data/spec/cassettes/murmuration2.yml +58 -0
- data/spec/cassettes/stephen.yml +10 -14
- data/spec/film_snob_spec.rb +11 -1
- metadata +12 -8
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
OTNlZDY4N2M3MGQ1MjE2MTcyZTQyOGJlYTc2MDM5YjI0N2EyMmZhYg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZjhmYWI2YTJhYzU4MjA3YjI1YThkYTNkZTEyOTM0OGVjZTE0NzQwYQ==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
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
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
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
|
data/lib/film_snob/version.rb
CHANGED
data/lib/film_snob/video_site.rb
CHANGED
@@ -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 =
|
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(
|
18
|
-
if
|
19
|
-
complain_about_bad_urls!(
|
20
|
-
video.send(
|
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
|
-
-
|
16
|
+
- Tue, 15 Apr 2014 02:52:18 GMT
|
17
17
|
Server:
|
18
18
|
- gwiseguy/2.0
|
19
|
-
Content-Type:
|
20
|
-
-
|
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-
|
33
|
-
-
|
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:
|
37
|
+
encoding: US-ASCII
|
40
38
|
string: Not Found
|
41
39
|
http_version:
|
42
|
-
recorded_at:
|
40
|
+
recorded_at: Tue, 15 Apr 2014 02:52:19 GMT
|
43
41
|
recorded_with: VCR 2.9.0
|
data/spec/cassettes/billy.yml
CHANGED
@@ -13,38 +13,36 @@ http_interactions:
|
|
13
13
|
message: OK
|
14
14
|
headers:
|
15
15
|
Date:
|
16
|
-
-
|
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:
|
40
|
-
string: '{"
|
41
|
-
"
|
42
|
-
"author_url": "http:\/\/www.youtube.com\/user\/billyonthestreettv",
|
43
|
-
|
44
|
-
"
|
45
|
-
|
46
|
-
|
47
|
-
"
|
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:
|
47
|
+
recorded_at: Tue, 15 Apr 2014 02:52:17 GMT
|
50
48
|
recorded_with: VCR 2.9.0
|
data/spec/cassettes/harmon.yml
CHANGED
@@ -25,19 +25,19 @@ http_interactions:
|
|
25
25
|
Accept-Ranges:
|
26
26
|
- bytes
|
27
27
|
Cache-Control:
|
28
|
-
- max-age=
|
28
|
+
- max-age=3600
|
29
29
|
Date:
|
30
|
-
-
|
30
|
+
- Tue, 15 Apr 2014 02:52:16 GMT
|
31
31
|
Connection:
|
32
32
|
- keep-alive
|
33
33
|
body:
|
34
|
-
encoding:
|
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:
|
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
|
data/spec/cassettes/stephen.yml
CHANGED
@@ -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
|
-
-
|
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
|
-
-
|
34
|
+
- Tue, 15 Apr 2014 02:52:16 GMT
|
39
35
|
X-Varnish:
|
40
|
-
- '
|
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
|
-
|
43
|
+
Cneonction:
|
48
44
|
- close
|
49
45
|
X-Vserver:
|
50
|
-
- 10.90.128.
|
46
|
+
- 10.90.128.147
|
51
47
|
body:
|
52
|
-
encoding:
|
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:
|
58
|
+
recorded_at: Tue, 15 Apr 2014 02:52:17 GMT
|
63
59
|
recorded_with: VCR 2.9.0
|
data/spec/film_snob_spec.rb
CHANGED
@@ -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.
|
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-
|
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
|