social_net 0.2.6 → 0.2.7

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: 73b6da8b92cf24696015cda1d38891a6fb043297
4
- data.tar.gz: 28c123c06bd4e0262576075b85d67c45dbcf2425
3
+ metadata.gz: d377f2038172fd76217e4af11f4529fe4635fc54
4
+ data.tar.gz: d0dd25976061611f287fa340e092465f6146ae8d
5
5
  SHA512:
6
- metadata.gz: 1ec0e9c88456a8a6919f45bce23005ac44a1b14d542cdb4372613f8b218a898c310e535d2cd5ce8b80fefa212515de1b386e370036f5dff76830b4f2abff354d
7
- data.tar.gz: 355ef7c86b0b08e2348f397ae0c0dc458b59882ad395e6e7c536cfa501c386dc2545185286f38dfb0f199a761b048e6c0101f421391889e84de11c1774d508e4
6
+ metadata.gz: e79cb37ae71a214c5440efd7b56c9c35e7e51bba4ccfda16eb4f8be9dfcde2679f5d50ef413b920d70f16f4b9a9f1bb02b6b5c2c44106427fdbfa801fa6b9330
7
+ data.tar.gz: 098b3b67bb8016f108b2fd94f535ebbb945fe929ddb874ab692ec5c937717edf120c443857157d7f5eb95cecfdbbbba53b7f024714e41da768b254864abcde70
data/CHANGELOG.md CHANGED
@@ -25,3 +25,7 @@ For more information about changelogs, check
25
25
  ## 0.2.6 - 2017-5-31
26
26
 
27
27
  * [BUGFIX] Add missing tests and errors for a private Instagram user.
28
+
29
+ ## 0.2.7 - 2017-7-26
30
+
31
+ * [FEATURE] Add `Instagram::Video` support for `find_by media_id:` and `find_by! media_id:`
data/README.md CHANGED
@@ -99,6 +99,16 @@ user.videos #=>
99
99
  # @thumbnail='https://scontent.cdninstagram.com/t51.2885-15/e15/17076697_308353549580106_8220285822193106944_n.jpg']"
100
100
  ```
101
101
 
102
+ Use [SocialNet::Instagram::Video]() to:
103
+
104
+ * retrieve an Instagram video by media id
105
+
106
+ ```ruby
107
+ video = SocialNet::Instagram::Video.find_by media_id: '1531332985868221389'
108
+ video.link #=> 'https://www.instagram.com/p/BVAYzy_g3vN/'
109
+ video.file #=> 'https://scontent.cdninstagram.com/t50.2886-16/18954088_1445442168855176_8271610702855143424_n.mp4'
110
+ ```
111
+
102
112
  *The methods above require a configured Instagram app (see below).*
103
113
 
104
114
  SocialNet::Facebook::Page
@@ -15,7 +15,7 @@ module SocialNet
15
15
  end
16
16
 
17
17
  def run
18
- #print "#{as_curl}\n"
18
+ print "#{as_curl}\n"
19
19
  case response = run_http_request
20
20
  when Net::HTTPOK
21
21
  JSON(response.body)['data']
@@ -0,0 +1,11 @@
1
+ module SocialNet
2
+ module Instagram
3
+ module Errors
4
+ class UnknownVideo < StandardError
5
+ def message
6
+ 'Unknown video'
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,4 @@
1
1
  require 'social_net/instagram/errors/response_error'
2
2
  require 'social_net/instagram/errors/unknown_user'
3
3
  require 'social_net/instagram/errors/private_user'
4
+ require 'social_net/instagram/errors/unknown_video'
@@ -1,3 +1,6 @@
1
+ require 'social_net/instagram/api/request'
2
+ require 'social_net/instagram/errors'
3
+
1
4
  module SocialNet
2
5
  module Instagram
3
6
  module Models
@@ -12,6 +15,44 @@ module SocialNet
12
15
  @thumbnail = attrs['images']['standard_resolution']['url']
13
16
  @link = attrs['link']
14
17
  end
18
+
19
+ # Returns the existing Instagram video matching the provided attributes or
20
+ # nil when the video is not found.
21
+ #
22
+ # @return [SocialNet::Instagram::Models::Video] when the video is found.
23
+ # @return [nil] when the video is not found.
24
+ # @param [Hash] params the attributes to find a video by.
25
+ # @option params [String] :media_id The Instagram video's media id.
26
+ def self.find_by(params = {})
27
+ find_by! params
28
+ rescue Errors::UnknownVideo
29
+ nil
30
+ end
31
+
32
+ # Returns the existing Instagram video matching the provided attributes or
33
+ # raises an error when the video is not found.
34
+ #
35
+ # @return [SocialNet::Instagram::Models::Video] when the video is found.
36
+ # @return [nil] when the video is not found.
37
+ # @param [Hash] params the attributes to find a video by.
38
+ # @option params [String] :media_id The Instagram video's media id.
39
+ # @raise [SocialNet::Errors::UnknownVideo] if the video is not found.
40
+ def self.find_by!(params = {})
41
+ if params[:media_id]
42
+ find_by_id! params[:media_id]
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ def self.find_by_id!(id)
49
+ request = Api::Request.new endpoint: "media/#{id}"
50
+ new request.run
51
+ rescue Errors::ResponseError => error
52
+ case error.response
53
+ when Net::HTTPBadRequest then raise Errors::UnknownVideo
54
+ end
55
+ end
15
56
  end
16
57
  end
17
58
  end
@@ -1,3 +1,3 @@
1
1
  module SocialNet
2
- VERSION = "0.2.6"
2
+ VERSION = "0.2.7"
3
3
  end
@@ -0,0 +1,51 @@
1
+ require 'spec_helper'
2
+ require 'social_net/instagram'
3
+
4
+ describe SocialNet::Instagram::Video, :vcr do
5
+ before :all do
6
+ SocialNet::Instagram.configure do |config|
7
+ if config.access_token.blank?
8
+ config.access_token = 'ACCESS_TOKEN'
9
+ end
10
+ end
11
+ end
12
+
13
+ let(:existing_media_id) { '1531332985868221389' }
14
+ let(:unknown_media_id) { '31231231231231232' }
15
+
16
+ describe '.find_by' do
17
+ subject(:video) { SocialNet::Instagram::Video.find_by media_id: media_id }
18
+
19
+ context 'given an existing video\'s media id' do
20
+ let(:media_id) { existing_media_id }
21
+
22
+ it 'returns an object representing that video' do
23
+ expect(video.id).to eq '1531332985868221389_2920261222'
24
+ expect(video.link).to eq 'https://www.instagram.com/p/BVAYzy_g3vN/'
25
+ end
26
+ end
27
+
28
+ context 'given a nonexistant video' do
29
+ let(:media_id) { unknown_media_id }
30
+ it { expect(video).to be_nil }
31
+ end
32
+ end
33
+
34
+ describe '.find_by!' do
35
+ subject(:video) { SocialNet::Instagram::Video.find_by! media_id: media_id }
36
+
37
+ context 'given an existing video\'s media id' do
38
+ let(:media_id) { existing_media_id }
39
+
40
+ it 'returns an object representing that video' do
41
+ expect(video.id).to eq '1531332985868221389_2920261222'
42
+ expect(video.link).to eq 'https://www.instagram.com/p/BVAYzy_g3vN/'
43
+ end
44
+ end
45
+
46
+ context 'given a nonexistant video' do
47
+ let(:media_id) { unknown_media_id }
48
+ it { expect{video}.to raise_error SocialNet::Instagram::UnknownVideo }
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,53 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.instagram.com/v1/media/31231231231231232?access_token=INSTAGRAM_ACCESS_TOKEN
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 400
19
+ message: Bad Request
20
+ headers:
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ X-Ratelimit-Limit:
24
+ - '5000'
25
+ X-Ratelimit-Remaining:
26
+ - '4965'
27
+ Cache-Control:
28
+ - private, no-cache, no-store, must-revalidate
29
+ Pragma:
30
+ - no-cache
31
+ Expires:
32
+ - Sat, 01 Jan 2000 00:00:00 GMT
33
+ Vary:
34
+ - Cookie, Accept-Language
35
+ Content-Language:
36
+ - en
37
+ Date:
38
+ - Wed, 26 Jul 2017 23:54:13 GMT
39
+ Set-Cookie:
40
+ - csrftoken=j41eKlQbLj0zVbPl8wuhhy59nkmzQR7X; expires=Wed, 25-Jul-2018 23:54:13
41
+ GMT; Max-Age=31449600; Path=/; Secure
42
+ - rur=FTW; Path=/
43
+ Connection:
44
+ - keep-alive
45
+ Content-Length:
46
+ - '94'
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"meta": {"code": 400, "error_type": "APINotFoundError", "error_message":
50
+ "invalid media id"}}'
51
+ http_version:
52
+ recorded_at: Wed, 26 Jul 2017 23:54:13 GMT
53
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.instagram.com/v1/media/1531332985868221389?access_token=INSTAGRAM_ACCESS_TOKEN
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ X-Ratelimit-Limit:
24
+ - '5000'
25
+ X-Ratelimit-Remaining:
26
+ - '4966'
27
+ Cache-Control:
28
+ - private, no-cache, no-store, must-revalidate
29
+ Pragma:
30
+ - no-cache
31
+ Expires:
32
+ - Sat, 01 Jan 2000 00:00:00 GMT
33
+ Vary:
34
+ - Cookie, Accept-Language, Accept-Encoding
35
+ Content-Language:
36
+ - en
37
+ Date:
38
+ - Wed, 26 Jul 2017 23:54:13 GMT
39
+ Set-Cookie:
40
+ - csrftoken=Wup5cI7PHEwOEWvIGvzpsEx5Rgp9LSrp; expires=Wed, 25-Jul-2018 23:54:13
41
+ GMT; Max-Age=31449600; Path=/; Secure
42
+ - rur=FTW; Path=/
43
+ Connection:
44
+ - keep-alive
45
+ Content-Length:
46
+ - '702'
47
+ body:
48
+ encoding: ASCII-8BIT
49
+ string: '{"data": {"id": "1531332985868221389_2920261222", "user": {"id": "2920261222",
50
+ "full_name": "EjamBrocolli", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/20181021_187099138494103_2678022811838054400_a.jpg",
51
+ "username": "ejamtucker"}, "images": {"thumbnail": {"width": 150, "height":
52
+ 150, "url": "https://scontent.cdninstagram.com/t51.2885-15/s150x150/e15/18948059_1942577789357229_5999747679591071744_n.jpg"},
53
+ "low_resolution": {"width": 320, "height": 320, "url": "https://scontent.cdninstagram.com/t51.2885-15/s320x320/e15/18948059_1942577789357229_5999747679591071744_n.jpg"},
54
+ "standard_resolution": {"width": 640, "height": 640, "url": "https://scontent.cdninstagram.com/t51.2885-15/e15/18948059_1942577789357229_5999747679591071744_n.jpg"}},
55
+ "created_time": "1496769139", "caption": {"id": "17871224890103184", "text":
56
+ "Yesterday Hit Me Hard \ud83c\udf51 #skate.my #Hallofmeat (Cukup Lah Ni Makanan
57
+ Sahur)", "created_time": "1496769139", "from": {"id": "2920261222", "full_name":
58
+ "EjamBrocolli", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/20181021_187099138494103_2678022811838054400_a.jpg",
59
+ "username": "ejamtucker"}}, "user_has_liked": false, "likes": {"count": 112},
60
+ "tags": ["hallofmeat", "skate"], "filter": "Normal", "comments": {"count":
61
+ 17}, "type": "video", "link": "https://www.instagram.com/p/BVAYzy_g3vN/",
62
+ "location": null, "attribution": null, "users_in_photo": [], "videos": {"standard_resolution":
63
+ {"width": 640, "height": 640, "url": "https://scontent.cdninstagram.com/t50.2886-16/18954088_1445442168855176_8271610702855143424_n.mp4"},
64
+ "low_bandwidth": {"width": 480, "height": 480, "url": "https://scontent.cdninstagram.com/t50.2886-16/18928806_320856988345914_4131951279704375296_n.mp4"},
65
+ "low_resolution": {"width": 480, "height": 480, "url": "https://scontent.cdninstagram.com/t50.2886-16/18928806_320856988345914_4131951279704375296_n.mp4"}}},
66
+ "meta": {"code": 200}}'
67
+ http_version:
68
+ recorded_at: Wed, 26 Jul 2017 23:54:13 GMT
69
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,53 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.instagram.com/v1/media/31231231231231232?access_token=INSTAGRAM_ACCESS_TOKEN
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 400
19
+ message: Bad Request
20
+ headers:
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ X-Ratelimit-Limit:
24
+ - '5000'
25
+ X-Ratelimit-Remaining:
26
+ - '4963'
27
+ Cache-Control:
28
+ - private, no-cache, no-store, must-revalidate
29
+ Pragma:
30
+ - no-cache
31
+ Expires:
32
+ - Sat, 01 Jan 2000 00:00:00 GMT
33
+ Vary:
34
+ - Cookie, Accept-Language
35
+ Content-Language:
36
+ - en
37
+ Date:
38
+ - Wed, 26 Jul 2017 23:54:14 GMT
39
+ Set-Cookie:
40
+ - csrftoken=xIFSTEGyONB8IpDt7S1nEWUSvWovvWJp; expires=Wed, 25-Jul-2018 23:54:14
41
+ GMT; Max-Age=31449600; Path=/; Secure
42
+ - rur=FTW; Path=/
43
+ Connection:
44
+ - keep-alive
45
+ Content-Length:
46
+ - '94'
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"meta": {"code": 400, "error_type": "APINotFoundError", "error_message":
50
+ "invalid media id"}}'
51
+ http_version:
52
+ recorded_at: Wed, 26 Jul 2017 23:54:14 GMT
53
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.instagram.com/v1/media/1531332985868221389?access_token=INSTAGRAM_ACCESS_TOKEN
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ X-Ratelimit-Limit:
24
+ - '5000'
25
+ X-Ratelimit-Remaining:
26
+ - '4964'
27
+ Cache-Control:
28
+ - private, no-cache, no-store, must-revalidate
29
+ Pragma:
30
+ - no-cache
31
+ Expires:
32
+ - Sat, 01 Jan 2000 00:00:00 GMT
33
+ Vary:
34
+ - Cookie, Accept-Language, Accept-Encoding
35
+ Content-Language:
36
+ - en
37
+ Date:
38
+ - Wed, 26 Jul 2017 23:54:13 GMT
39
+ Set-Cookie:
40
+ - csrftoken=xKRuZk6RsOUSQn97DtfuDRTUnirdrFVa; expires=Wed, 25-Jul-2018 23:54:13
41
+ GMT; Max-Age=31449600; Path=/; Secure
42
+ - rur=FTW; Path=/
43
+ Connection:
44
+ - keep-alive
45
+ Content-Length:
46
+ - '702'
47
+ body:
48
+ encoding: ASCII-8BIT
49
+ string: '{"data": {"id": "1531332985868221389_2920261222", "user": {"id": "2920261222",
50
+ "full_name": "EjamBrocolli", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/20181021_187099138494103_2678022811838054400_a.jpg",
51
+ "username": "ejamtucker"}, "images": {"thumbnail": {"width": 150, "height":
52
+ 150, "url": "https://scontent.cdninstagram.com/t51.2885-15/s150x150/e15/18948059_1942577789357229_5999747679591071744_n.jpg"},
53
+ "low_resolution": {"width": 320, "height": 320, "url": "https://scontent.cdninstagram.com/t51.2885-15/s320x320/e15/18948059_1942577789357229_5999747679591071744_n.jpg"},
54
+ "standard_resolution": {"width": 640, "height": 640, "url": "https://scontent.cdninstagram.com/t51.2885-15/e15/18948059_1942577789357229_5999747679591071744_n.jpg"}},
55
+ "created_time": "1496769139", "caption": {"id": "17871224890103184", "text":
56
+ "Yesterday Hit Me Hard \ud83c\udf51 #skate.my #Hallofmeat (Cukup Lah Ni Makanan
57
+ Sahur)", "created_time": "1496769139", "from": {"id": "2920261222", "full_name":
58
+ "EjamBrocolli", "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/20181021_187099138494103_2678022811838054400_a.jpg",
59
+ "username": "ejamtucker"}}, "user_has_liked": false, "likes": {"count": 112},
60
+ "tags": ["skate", "hallofmeat"], "filter": "Normal", "comments": {"count":
61
+ 17}, "type": "video", "link": "https://www.instagram.com/p/BVAYzy_g3vN/",
62
+ "location": null, "attribution": null, "users_in_photo": [], "videos": {"standard_resolution":
63
+ {"width": 640, "height": 640, "url": "https://scontent.cdninstagram.com/t50.2886-16/18954088_1445442168855176_8271610702855143424_n.mp4"},
64
+ "low_bandwidth": {"width": 480, "height": 480, "url": "https://scontent.cdninstagram.com/t50.2886-16/18928806_320856988345914_4131951279704375296_n.mp4"},
65
+ "low_resolution": {"width": 480, "height": 480, "url": "https://scontent.cdninstagram.com/t50.2886-16/18928806_320856988345914_4131951279704375296_n.mp4"}}},
66
+ "meta": {"code": 200}}'
67
+ http_version:
68
+ recorded_at: Wed, 26 Jul 2017 23:54:13 GMT
69
+ recorded_with: VCR 2.9.3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_net
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Cohen Hoffing
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-31 00:00:00.000000000 Z
11
+ date: 2017-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -154,6 +154,7 @@ files:
154
154
  - lib/social_net/instagram/errors/private_user.rb
155
155
  - lib/social_net/instagram/errors/response_error.rb
156
156
  - lib/social_net/instagram/errors/unknown_user.rb
157
+ - lib/social_net/instagram/errors/unknown_video.rb
157
158
  - lib/social_net/instagram/models.rb
158
159
  - lib/social_net/instagram/models/user.rb
159
160
  - lib/social_net/instagram/models/video.rb
@@ -173,6 +174,7 @@ files:
173
174
  - spec/social_net/facebook/models/pages_spec.rb
174
175
  - spec/social_net/facebook/models/users_spec.rb
175
176
  - spec/social_net/instagram/models/user_spec.rb
177
+ - spec/social_net/instagram/models/video_spec.rb
176
178
  - spec/social_net/twitter/models/user_spec.rb
177
179
  - spec/spec_helper.rb
178
180
  - spec/support/cassettes/Posts/_posts/given_an_existing_case-insensitive_username/returns_an_object_representing_that_user.yml
@@ -183,6 +185,10 @@ files:
183
185
  - spec/support/cassettes/SocialNet_Instagram_Models_User/_find_by_/given_an_existing_case-insensitive_username/returns_an_object_representing_that_user.yml
184
186
  - spec/support/cassettes/SocialNet_Instagram_Models_User/_find_by_/given_an_unknown_username/.yml
185
187
  - spec/support/cassettes/SocialNet_Instagram_Models_User/_videos/given_an_existing_user/returns_an_array_of_video_posts_from_the_user.yml
188
+ - spec/support/cassettes/SocialNet_Instagram_Models_Video/_find_by/given_a_nonexistant_video/.yml
189
+ - spec/support/cassettes/SocialNet_Instagram_Models_Video/_find_by/given_an_existing_video_s_media_id/returns_an_object_representing_that_video.yml
190
+ - spec/support/cassettes/SocialNet_Instagram_Models_Video/_find_by_/given_a_nonexistant_video/.yml
191
+ - spec/support/cassettes/SocialNet_Instagram_Models_Video/_find_by_/given_an_existing_video_s_media_id/returns_an_object_representing_that_video.yml
186
192
  - spec/support/vcr.rb
187
193
  homepage: https://github.com/CollabCreators/social_net
188
194
  licenses:
@@ -212,6 +218,7 @@ test_files:
212
218
  - spec/social_net/facebook/models/pages_spec.rb
213
219
  - spec/social_net/facebook/models/users_spec.rb
214
220
  - spec/social_net/instagram/models/user_spec.rb
221
+ - spec/social_net/instagram/models/video_spec.rb
215
222
  - spec/social_net/twitter/models/user_spec.rb
216
223
  - spec/spec_helper.rb
217
224
  - spec/support/cassettes/Posts/_posts/given_an_existing_case-insensitive_username/returns_an_object_representing_that_user.yml
@@ -222,5 +229,9 @@ test_files:
222
229
  - spec/support/cassettes/SocialNet_Instagram_Models_User/_find_by_/given_an_existing_case-insensitive_username/returns_an_object_representing_that_user.yml
223
230
  - spec/support/cassettes/SocialNet_Instagram_Models_User/_find_by_/given_an_unknown_username/.yml
224
231
  - spec/support/cassettes/SocialNet_Instagram_Models_User/_videos/given_an_existing_user/returns_an_array_of_video_posts_from_the_user.yml
232
+ - spec/support/cassettes/SocialNet_Instagram_Models_Video/_find_by/given_a_nonexistant_video/.yml
233
+ - spec/support/cassettes/SocialNet_Instagram_Models_Video/_find_by/given_an_existing_video_s_media_id/returns_an_object_representing_that_video.yml
234
+ - spec/support/cassettes/SocialNet_Instagram_Models_Video/_find_by_/given_a_nonexistant_video/.yml
235
+ - spec/support/cassettes/SocialNet_Instagram_Models_Video/_find_by_/given_an_existing_video_s_media_id/returns_an_object_representing_that_video.yml
225
236
  - spec/support/vcr.rb
226
237
  has_rdoc: