social_net 0.2.6 → 0.2.7

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: 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: