instagram 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010 Instagram (Burbn, Inc.)
1
+ Copyright (c) 2011 Instagram (Burbn, Inc.)
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -140,5 +140,5 @@ Submitting a Pull Request
140
140
 
141
141
  Copyright
142
142
  ---------
143
- Copyright (c) 2010 Instagram (Burbn, Inc).
143
+ Copyright (c) 2011 Instagram (Burbn, Inc).
144
144
  See [LICENSE](https://github.com/Instagram/instagram-ruby-gem/blob/master/LICENSE.md) for details.
@@ -9,11 +9,11 @@ Gem::Specification.new do |s|
9
9
  s.add_development_dependency('simplecov', '~> 0.3')
10
10
  s.add_development_dependency('webmock', '~> 1.6')
11
11
  s.add_development_dependency('ZenTest', '~> 4.4')
12
+ s.add_development_dependency('bluecloth', '~> 2.0.11')
12
13
  s.add_runtime_dependency('faraday', '~> 0.5.4')
13
14
  s.add_runtime_dependency('faraday_middleware', '~> 0.3.1')
14
15
  s.add_runtime_dependency('multi_json', '~> 0.0.5')
15
16
  s.add_runtime_dependency('hashie', '~> 1.0.0')
16
- s.add_runtime_dependency('ruby-hmac', '~> 0.4.0')
17
17
  s.authors = ["Shayne Sweeney"]
18
18
  s.description = %q{A Ruby wrapper for the Instagram REST and Search APIs}
19
19
  s.post_install_message =<<eos
@@ -11,6 +11,7 @@ module Instagram
11
11
  include Instagram::Client::Users
12
12
  include Instagram::Client::Media
13
13
  include Instagram::Client::Locations
14
+ include Instagram::Client::Geographies
14
15
  include Instagram::Client::Tags
15
16
  include Instagram::Client::Comments
16
17
  include Instagram::Client::Likes
@@ -0,0 +1,29 @@
1
+ module Instagram
2
+ class Client
3
+ # Defines methods related to real-time geographies
4
+ module Geographies
5
+ # Returns a list of recent media items for a given real-time geography
6
+ #
7
+ # @overload geography_recent_media(id, options={})
8
+ # @param user [Integer] A geography ID from a real-time subscription.
9
+ # @param options [Hash] A customizable set of options.
10
+ # @option options [Integer] :count (nil) Limit the number of results returned
11
+ # @option options [Integer] :min_id (nil) Return media before this min_id
12
+ # @option options [Integer] :max_id (nil) Return media after this max_id
13
+ # @option options [Integer] :min_timestamp (nil) Return media after this UNIX timestamp
14
+ # @option options [Integer] :max_timestamp (nil) Return media before this UNIX timestamp
15
+ # @return [Hashie::Mash]
16
+ # @example Return a list of the most recent media items taken within a specific geography
17
+ # Instagram.geography_recent_media(514276)
18
+ # @see http://instagram.com/developer/endpoints/geographies/
19
+ # @format :json
20
+ # @authenticated false
21
+ # @rate_limited true
22
+ def geography_recent_media(id, *args)
23
+ options = args.last.is_a?(Hash) ? args.pop : {}
24
+ response = get("geographies/#{id}/media/recent", options)
25
+ response["data"]
26
+ end
27
+ end
28
+ end
29
+ end
@@ -21,10 +21,10 @@ module Instagram
21
21
  # Returns a list of recent media items for a given Instagram location
22
22
  #
23
23
  # @overload location_recent_media(id, options={})
24
- # @param user [Integer] An Instagram user ID.
24
+ # @param user [Integer] An Instagram location ID.
25
25
  # @param options [Hash] A customizable set of options.
26
26
  # @option options [Integer] :max_id (nil) Returns results with an ID less than (that is, older than) or equal to the specified ID.
27
- # @option options [Integer] :count (nil) Limits the number of results returned per page, maximum 150.
27
+ # @option options [Integer] :count (nil) Limits the number of results returned per page.
28
28
  # @return [Hashie::Mash]
29
29
  # @example Return a list of the most recent media items taken at the Instagram office
30
30
  # Instagram.location_recent_media(514276)
@@ -42,7 +42,7 @@ module Instagram
42
42
  #
43
43
  # @param lat [String] A given latitude in decimal format
44
44
  # @param lng [String] A given longitude in decimal format
45
- # @option options [Integer] :count The number of media items to retrieve. Maxiumum of 100 allowed per page.
45
+ # @option options [Integer] :count The number of media items to retrieve.
46
46
  # @return [Array]
47
47
  # @example Return locations around 37.7808851, -122.3948632 (164 S Park, SF, CA USA)
48
48
  # Instagram.location_search("37.7808851", "-122.3948632")
@@ -46,7 +46,7 @@ module Instagram
46
46
  # @param lat [String] A given latitude in decimal format
47
47
  # @param lng [String] A given longitude in decimal format
48
48
  # @param options [Hash] A customizable set of options.
49
- # @option options [Integer] :count The number of media items to retrieve. Maxiumum of 100 allowed per page.
49
+ # @option options [Integer] :count The number of media items to retrieve.
50
50
  # @return [Array]
51
51
  # @example Return media around 37.7808851, -122.3948632 (164 S Park, SF, CA USA)
52
52
  # Instagram.media_search("37.7808851", "-122.3948632")
@@ -1,4 +1,4 @@
1
- require 'hmac-sha1'
1
+ require 'openssl'
2
2
 
3
3
  module Instagram
4
4
  class Client
@@ -31,7 +31,7 @@ module Instagram
31
31
  # @option options [String, Integer] :object_id When specifying a location or tag use the location's ID or tag name respectively
32
32
  # @option options [String, Float] :lat The center latitude of an area, used when subscribing to a geography object
33
33
  # @option options [String, Float] :lng The center longitude of an area, used when subscribing to a geography object
34
- # @option options [String, Integer] :radius The distance in meters you'd like to capture around a given point (max 5000 meters)
34
+ # @option options [String, Integer] :radius The distance in meters you'd like to capture around a given point
35
35
  # @overload create_subscription(object, callback_url, aspect="media", options={})
36
36
  # @param object [String] The object you'd like to subscribe to (user, tag, location or geography)
37
37
  # @param callback_url [String] The subscription callback URL
@@ -40,7 +40,7 @@ module Instagram
40
40
  # @option options [String, Integer] :object_id When specifying a location or tag use the location's ID or tag name respectively
41
41
  # @option options [String, Float] :lat The center latitude of an area, used when subscribing to a geography object
42
42
  # @option options [String, Float] :lng The center longitude of an area, used when subscribing to a geography object
43
- # @option options [String, Integer] :radius The distance in meters you'd like to capture around a given point (max 5000 meters)
43
+ # @option options [String, Integer] :radius The distance in meters you'd like to capture around a given point
44
44
  #
45
45
  # Note that we only support "media" at this time, but we might support other types of subscriptions in the future.
46
46
  # @return [Hashie::Mash] The subscription created.
@@ -127,7 +127,8 @@ module Instagram
127
127
  if !client_secret
128
128
  raise ArgumentError, "client_secret must be set during configure"
129
129
  end
130
- verify_signature = HMAC::SHA1.hexdigest(client_secret, json)
130
+ digest = OpenSSL::Digest::Digest.new('sha1')
131
+ verify_signature = OpenSSL::HMAC.hexdigest(digest, client_secret, json)
131
132
 
132
133
  if options[:signature] != verify_signature
133
134
  raise Instagram::InvalidSignature, "invalid X-Hub-Signature does not match verify signature against client_secret"
@@ -24,7 +24,7 @@ module Instagram
24
24
  # @param user [String] An Instagram tag name.
25
25
  # @param options [Hash] A customizable set of options.
26
26
  # @option options [Integer] :max_id (nil) Returns results with an ID less than (that is, older than) or equal to the specified ID.
27
- # @option options [Integer] :count (nil) Limits the number of results returned per page, maximum 150.
27
+ # @option options [Integer] :count (nil) Limits the number of results returned per page.
28
28
  # @return [Hashie::Mash]
29
29
  # @example Return a list of the most recent media items tagged "cat"
30
30
  # Instagram.tag_recent_media('cat')
@@ -45,7 +45,7 @@ module Instagram
45
45
  # @rate_limited true
46
46
  # @param query [String] The beginning or complete tag name to search for
47
47
  # @param options [Hash] A customizable set of options.
48
- # @option options [Integer] :count The number of media items to retrieve. Maxiumum of 100 allowed per page.
48
+ # @option options [Integer] :count The number of media items to retrieve.
49
49
  # @return [Array]
50
50
  # @see TODO:doc url
51
51
  # @example Return tags that start with "cat"
@@ -28,7 +28,7 @@ module Instagram
28
28
  # @rate_limited true
29
29
  # @param query [String] The search query to run against user search.
30
30
  # @param options [Hash] A customizable set of options.
31
- # @option options [Integer] :count The number of users to retrieve. Maxiumum of 100 allowed per page.
31
+ # @option options [Integer] :count The number of users to retrieve.
32
32
  # @return [Array]
33
33
  # @see TODO:doc url
34
34
  # @example Return users that match "Shayne Sweeney"
@@ -49,7 +49,7 @@ module Instagram
49
49
  # @param user [Integer] An Instagram user ID.
50
50
  # @param options [Hash] A customizable set of options.
51
51
  # @option options [Integer] :cursor (nil) Breaks the results into pages. Provide values as returned in the response objects's next_cursor attribute to page forward in the list.
52
- # @option options [Integer] :count (nil) Limits the number of results returned per page, maximum 150.
52
+ # @option options [Integer] :count (nil) Limits the number of results returned per page.
53
53
  # @return [Hashie::Mash]
54
54
  # @example Return a list of users @mikeyk follows
55
55
  # Instagram.user_follows(4) # @mikeyk user ID being 4
@@ -78,7 +78,7 @@ module Instagram
78
78
  # @param user [Integer] An Instagram user ID.
79
79
  # @param options [Hash] A customizable set of options.
80
80
  # @option options [Integer] :cursor (nil) Breaks the results into pages. Provide values as returned in the response objects's next_cursor attribute to page forward in the list.
81
- # @option options [Integer] :count (nil) Limits the number of results returned per page, maximum 150.
81
+ # @option options [Integer] :count (nil) Limits the number of results returned per page.
82
82
  # @return [Hashie::Mash]
83
83
  # @example Return a list of users @mikeyk is followed by
84
84
  # Instagram.user_followed_by(4) # @mikeyk user ID being 4
@@ -115,14 +115,14 @@ module Instagram
115
115
  response["data"]
116
116
  end
117
117
 
118
- # Returns the 20 most recent media items from the currently authorized user's feed.
118
+ # Returns most recent media items from the currently authorized user's feed.
119
119
  #
120
120
  # @overload user_media_feed(options={})
121
121
  # @param options [Hash] A customizable set of options.
122
122
  # @option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
123
- # @option options [Integer] :count Specifies the number of records to retrieve, per page. Must be less than or equal to 100.
123
+ # @option optionsc [Integer] :count Specifies the number of records to retrieve, per page.
124
124
  # @return [Array]
125
- # @example Return the 20 most recent media images that would appear on @shayne's feed
125
+ # @example Return most recent media images that would appear on @shayne's feed
126
126
  # Instagram.user_media_feed() # assuming @shayne is the authorized user
127
127
  # @format :json
128
128
  # @authenticated true
@@ -145,7 +145,7 @@ module Instagram
145
145
  # @param user [Integer] An Instagram user ID.
146
146
  # @param options [Hash] A customizable set of options.
147
147
  # @option options [Integer] :max_id (nil) Returns results with an ID less than (that is, older than) or equal to the specified ID.
148
- # @option options [Integer] :count (nil) Limits the number of results returned per page, maximum 150.
148
+ # @option options [Integer] :count (nil) Limits the number of results returned per page.
149
149
  # @return [Hashie::Mash]
150
150
  # @example Return a list of media items taken by @mikeyk
151
151
  # Instagram.user_recent_media(4) # @mikeyk user ID being 4
@@ -161,5 +161,130 @@ module Instagram
161
161
  response = get("users/#{id}/media/recent", options)
162
162
  response["data"]
163
163
  end
164
+
165
+ # Returns information about the current user's relationship (follow/following/etc) to another user
166
+ #
167
+ # @overload user_relationship(id, options={})
168
+ # @param user [Integer] An Instagram user ID.
169
+ # @param options [Hash] An optional options hash
170
+ # @return [Hashie::Mash]
171
+ # @example Return the relationship status between the currently authenticated user and @mikeyk
172
+ # Instagram.user_relationship(4) # @mikeyk user ID being 4
173
+ # @see http://instagram.com/developer/endpoints/relationships/
174
+ # @format :json
175
+ # @authenticated true
176
+ # @rate_limited true
177
+ def user_relationship(id, options={})
178
+ response = get("users/#{id}/relationship", options)
179
+ response["data"]
180
+ end
181
+
182
+ # Create a follows relationship between the current user and the target user
183
+ #
184
+ # @overload follow_user(id, options={})
185
+ # @param user [Integer] An Instagram user ID.
186
+ # @param options [Hash] An optional options hash
187
+ # @return [Hashie::Mash]
188
+ # @example Request the current user to follow the target user
189
+ # Instagram.follow_user(4)
190
+ # @see http://instagram.com/developer/endpoints/relationships/
191
+ # @format :json
192
+ # @authenticated true
193
+ # @rate_limited true
194
+ def follow_user(id, options={})
195
+ options["action"] = "follow"
196
+ response = post("users/#{id}/relationship", options)
197
+ response["data"]
198
+ end
199
+
200
+ # Destroy a follows relationship between the current user and the target user
201
+ #
202
+ # @overload unfollow_user(id, options={})
203
+ # @param user [Integer] An Instagram user ID.
204
+ # @param options [Hash] An optional options hash
205
+ # @return [Hashie::Mash]
206
+ # @example Remove a follows relationship between the current user and the target user
207
+ # Instagram.unfollow_user(4)
208
+ # @see http://instagram.com/developer/endpoints/relationships/
209
+ # @format :json
210
+ # @authenticated true
211
+ # @rate_limited true
212
+ def unfollow_user(id, options={})
213
+ options["action"] = "unfollow"
214
+ response = post("users/#{id}/relationship", options)
215
+ response["data"]
216
+ end
217
+
218
+ # Block a relationship between the current user and the target user
219
+ #
220
+ # @overload unfollow_user(id, options={})
221
+ # @param user [Integer] An Instagram user ID.
222
+ # @param options [Hash] An optional options hash
223
+ # @return [Hashie::Mash]
224
+ # @example Block a relationship between the current user and the target user
225
+ # Instagram.block_user(4)
226
+ # @see http://instagram.com/developer/endpoints/relationships/
227
+ # @format :json
228
+ # @authenticated true
229
+ # @rate_limited true
230
+ def block_user(id, options={})
231
+ options["action"] = "block"
232
+ response = post("users/#{id}/relationship", options)
233
+ response["data"]
234
+ end
235
+
236
+ # Remove a relationship block between the current user and the target user
237
+ #
238
+ # @overload unblock_user(id, options={})
239
+ # @param user [Integer] An Instagram user ID.
240
+ # @param options [Hash] An optional options hash
241
+ # @return [Hashie::Mash]
242
+ # @example Remove a relationship block between the current user and the target user
243
+ # Instagram.unblock_user(4)
244
+ # @see http://instagram.com/developer/endpoints/relationships/
245
+ # @format :json
246
+ # @authenticated true
247
+ # @rate_limited true
248
+ def unblock_user(id, options={})
249
+ options["action"] = "unblock"
250
+ response = post("users/#{id}/relationship", options)
251
+ response["data"]
252
+ end
253
+
254
+ # Approve a relationship request between the current user and the target user
255
+ #
256
+ # @overload approve_user(id, options={})
257
+ # @param user [Integer] An Instagram user ID.
258
+ # @param options [Hash] An optional options hash
259
+ # @return [Hashie::Mash]
260
+ # @example Approve a relationship request between the current user and the target user
261
+ # Instagram.approve_user(4)
262
+ # @see http://instagram.com/developer/endpoints/relationships/
263
+ # @format :json
264
+ # @authenticated true
265
+ # @rate_limited true
266
+ def approve_user(id, options={})
267
+ options["action"] = "approve"
268
+ response = post("users/#{id}/relationship", options)
269
+ response["data"]
270
+ end
271
+
272
+ # Deny a relationship request between the current user and the target user
273
+ #
274
+ # @overload deny_user(id, options={})
275
+ # @param user [Integer] An Instagram user ID.
276
+ # @param options [Hash] An optional options hash
277
+ # @return [Hashie::Mash]
278
+ # @example Deny a relationship request between the current user and the target user
279
+ # Instagram.deny_user(4)
280
+ # @see http://instagram.com/developer/endpoints/relationships/
281
+ # @format :json
282
+ # @authenticated true
283
+ # @rate_limited true
284
+ def deny_user(id, options={})
285
+ options["action"] = "deny"
286
+ response = post("users/#{id}/relationship", options)
287
+ response["data"]
288
+ end
164
289
  end
165
290
  end
@@ -1,3 +1,3 @@
1
1
  module Instagram
2
- VERSION = '0.6.1'.freeze unless defined?(::Instagram::VERSION)
2
+ VERSION = '0.6.2'.freeze unless defined?(::Instagram::VERSION)
3
3
  end
@@ -0,0 +1,8 @@
1
+ {
2
+ "meta": {
3
+ "code": 200
4
+ },
5
+ "data": {
6
+ "outgoing_status": "follows"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "meta": {
3
+ "code": 200
4
+ },
5
+ "data": {
6
+ "outgoing_status": "none"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "meta": {
3
+ "code": 200
4
+ },
5
+ "data": {
6
+ "outgoing_status": "none"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "meta": {
3
+ "code": 200
4
+ },
5
+ "data": {
6
+ "outgoing_status": "requested"
7
+ }
8
+ }
@@ -0,0 +1 @@
1
+ {"pagination": {"next_url": "http://api_privatebeta.instagr.am/api/v2/tags/cat/media/recent/?access_token=f59def8.001cde77128843169627c0308237bafa&max_id=13289272", "next_max_id": 13289272}, "meta": {"code": 200}, "data": [{"type": "image", "comments": [{"created_time": "2010-12-18T02:34:05+0000", "message": "Our new cat with Christian and his grandma. ", "from": {"username": "amandavan", "id": "443107"}, "id": "10124500"}, {"created_time": "2010-12-18T02:37:16+0000", "message": "Gorgeous shot. Loving each others company!", "from": {"username": "ajinnz", "id": "520533"}, "id": "10125060"}, {"created_time": "2010-12-18T03:16:05+0000", "message": "We rescued the cat from a shelter. It only had a few more days left to find a home. He is an adult cat that is very friendly.", "from": {"username": "amandavan", "id": "443107"}, "id": "10131737"}, {"created_time": "2010-12-18T03:23:16+0000", "message": "Sweet:)", "from": {"username": "attosa", "id": "499019"}, "id": "10133068"}, {"created_time": "2010-12-18T03:29:20+0000", "message": "素敵な時間!", "from": {"username": "naot", "id": "119160"}, "id": "10134162"}, {"created_time": "2010-12-18T03:31:14+0000", "message": "Sweet♥", "from": {"username": "paddington", "id": "297689"}, "id": "10134507"}, {"created_time": "2010-12-18T03:33:22+0000", "message": "Beautiful", "from": {"username": "blueclue", "id": "199292"}, "id": "10134879"}, {"created_time": "2010-12-18T04:05:29+0000", "message": "Made popular :) Congrats!", "from": {"username": "brevynsmommy", "id": "919940"}, "id": "10140543"}, {"created_time": "2010-12-18T04:20:58+0000", "message": "(=´∀`)人(´∀`=)", "from": {"username": "mayugonz", "id": "660351"}, "id": "10143131"}, {"created_time": "2010-12-18T04:37:39+0000", "message": "so sweet", "from": {"username": "chaolee", "id": "458637"}, "id": "10145908"}, {"created_time": "2010-12-18T05:43:19+0000", "message": "nice capture!", "from": {"username": "manorr", "id": "352000"}, "id": "10157195"}, {"created_time": "2010-12-18T07:33:43+0000", "message": "Lovely shot.", "from": {"username": "kidtechnical", "id": "981990"}, "id": "10175334"}, {"created_time": "2010-12-18T11:53:04+0000", "message": "So beauty-ful!", "from": {"username": "rss420", "id": "350879"}, "id": "10219843"}, {"created_time": "2010-12-19T03:44:45+0000", "message": "d(^_^o)", "from": {"username": "dhodhadhi", "id": "142482"}, "id": "10384408"}, {"created_time": "2010-12-19T22:09:12+0000", "message": "Aaaaww", "from": {"username": "brianng", "id": "10102"}, "id": "10595111"}, {"created_time": "2010-12-20T02:32:51+0000", "message": "Precious!", "from": {"username": "natalyj08", "id": "462833"}, "id": "10645980"}, {"created_time": "2010-12-20T07:56:15+0000", "message": "Luv it", "from": {"username": "indoazz", "id": "842666"}, "id": "10697595"}, {"created_time": "2010-12-23T07:33:46+0000", "message": "Lovely shot", "from": {"username": "gershwin", "id": "312872"}, "id": "11452636"}, {"created_time": "2011-02-02T01:20:05+0000", "message": "#love #cat", "from": {"username": "amandavan", "id": "443107"}, "id": "26229449"}], "caption": {"created_time": "2010-12-18T02:34:05+0000", "message": "Our new cat with Christian and his grandma. ", "from": {"username": "amandavan", "id": "443107"}, "id": "10124500"}, "like_count": 90, "link": "http://api_privatebeta.instagr.am/p/mQHc/", "user": {"username": "amandavan", "full_name": "", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_443107_75sq_1288981444.jpg", "id": "443107"}, "created_time": "2010-12-18T02:33:22+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/17/08752d7e680a44abb36495f8cf3f09f1_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/17/08752d7e680a44abb36495f8cf3f09f1_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/17/08752d7e680a44abb36495f8cf3f09f1_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "10027484", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T01:19:26+0000", "message": "お傾げ#cat", "from": {"username": "tenkao", "id": "114517"}, "id": "26229234"}], "caption": {"created_time": "2011-02-02T01:19:26+0000", "message": "お傾げ#cat", "from": {"username": "tenkao", "id": "114517"}, "id": "26229234"}, "like_count": 0, "link": "http://api_privatebeta.instagr.am/p/BVpbC/", "user": {"username": "tenkao", "full_name": "Tsutomu Hagiwara", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_114517_75sq_1287300118.jpg", "id": "114517"}, "created_time": "2011-02-02T01:18:39+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/67babf0994bd41f48717455a1ed645bf_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/67babf0994bd41f48717455a1ed645bf_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/67babf0994bd41f48717455a1ed645bf_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "22451906", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T01:09:46+0000", "message": "Even cats blink in pictures. ", "from": {"username": "dmarkey", "id": "496759"}, "id": "26226075"}, {"created_time": "2011-02-02T01:16:40+0000", "message": "#cat", "from": {"username": "dmarkey", "id": "496759"}, "id": "26228267"}], "caption": {"created_time": "2011-02-02T01:09:46+0000", "message": "Even cats blink in pictures. ", "from": {"username": "dmarkey", "id": "496759"}, "id": "26226075"}, "like_count": 0, "link": "http://api_privatebeta.instagr.am/p/BVo8g/", "user": {"username": "dmarkey", "full_name": "Drew Markey", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_496759_75sq_1296534082.jpg", "id": "496759"}, "created_time": "2011-02-02T01:09:10+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/540c61429dba4ef198e99d91e0cefcca_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/540c61429dba4ef198e99d91e0cefcca_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/540c61429dba4ef198e99d91e0cefcca_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "22449952", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T01:15:56+0000", "message": "Ursula the black. #dslr #nofilter", "from": {"username": "ciams", "id": "339307"}, "id": "26228009"}, {"created_time": "2011-02-02T01:16:21+0000", "message": "And #cat. ", "from": {"username": "ciams", "id": "339307"}, "id": "26228151"}], "caption": {"created_time": "2011-02-02T01:15:56+0000", "message": "Ursula the black. #dslr #nofilter", "from": {"username": "ciams", "id": "339307"}, "id": "26228009"}, "like_count": 0, "link": "http://api_privatebeta.instagr.am/p/BVpQR/", "user": {"username": "ciams", "full_name": "Ciam", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_339307_75sq_1295055035.jpg", "id": "339307"}, "created_time": "2011-02-02T01:15:26+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/583d4598747f4d44949dfb9a7bb66c34_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/583d4598747f4d44949dfb9a7bb66c34_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/583d4598747f4d44949dfb9a7bb66c34_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "22451217", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T01:15:06+0000", "message": "ガラス越しのあなた #cat", "from": {"username": "sorateto", "id": "1407213"}, "id": "26227746"}], "caption": {"created_time": "2011-02-02T01:15:06+0000", "message": "ガラス越しのあなた #cat", "from": {"username": "sorateto", "id": "1407213"}, "id": "26227746"}, "like_count": 0, "link": "http://api_privatebeta.instagr.am/p/BVpNO/", "user": {"username": "sorateto", "full_name": "", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1407213_75sq_1295171266.jpg", "id": "1407213"}, "created_time": "2011-02-02T01:14:26+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/02b1810dfd744e1186e9d1c4c48d2e79_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/02b1810dfd744e1186e9d1c4c48d2e79_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/02b1810dfd744e1186e9d1c4c48d2e79_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "22451022", "location": null}, {"type": "image", "comments": [{"created_time": "2011-01-27T17:48:00+0000", "message": "Midnight", "from": {"username": "samnands", "id": "1572362"}, "id": "23619719"}, {"created_time": "2011-02-02T01:03:12+0000", "message": "#midnight #cat #kitty #pet #animal #eyes", "from": {"username": "samnands", "id": "1572362"}, "id": "26223766"}], "caption": {"created_time": "2011-01-27T17:48:00+0000", "message": "Midnight", "from": {"username": "samnands", "id": "1572362"}, "id": "23619719"}, "like_count": 3, "link": "http://api_privatebeta.instagr.am/p/BPG_g/", "user": {"username": "samnands", "full_name": "Sam Fernandes", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1572362_75sq_1296598905.jpg", "id": "1572362"}, "created_time": "2011-01-27T17:47:58+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/01/27/d7056b7a0b094eb1bf8bcd27dcebef00_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2011/01/27/d7056b7a0b094eb1bf8bcd27dcebef00_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/01/27/d7056b7a0b094eb1bf8bcd27dcebef00_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "20738016", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T01:00:08+0000", "message": "#sleep #cat", "from": {"username": "super_mimi_", "id": "1721424"}, "id": "26222773"}], "caption": null, "like_count": 1, "link": "http://api_privatebeta.instagr.am/p/BR_R3/", "user": {"username": "super_mimi_", "full_name": "Mimi ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1721424_75sq_1296492509.jpg", "id": "1721424"}, "created_time": "2011-01-30T00:16:02+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/01/29/bf7b4dd6aacd48be8ae74076c80d8752_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2011/01/29/bf7b4dd6aacd48be8ae74076c80d8752_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/01/29/bf7b4dd6aacd48be8ae74076c80d8752_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "21492855", "location": null}, {"type": "image", "comments": [{"created_time": "2010-12-29T02:52:01+0000", "message": "Beautiful lil friend!!", "from": {"username": "tashiko", "id": "889932"}, "id": "13086996"}, {"created_time": "2010-12-29T03:47:38+0000", "message": "I'm not a fan of cats, still like this shot a lot.", "from": {"username": "cryingjune", "id": "678148"}, "id": "13099247"}, {"created_time": "2010-12-29T10:15:32+0000", "message": "@cryingjune awww thanks heaps! ", "from": {"username": "tashiko", "id": "889932"}, "id": "13175014"}, {"created_time": "2011-02-02T00:43:33+0000", "message": "#Tashiko #cat #light #eye", "from": {"username": "tashiko", "id": "889932"}, "id": "26217211"}], "caption": {"created_time": "2010-12-29T02:52:01+0000", "message": "Beautiful lil friend!!", "from": {"username": "tashiko", "id": "889932"}, "id": "13086996"}, "like_count": 4, "link": "http://api_privatebeta.instagr.am/p/wUN_/", "user": {"username": "tashiko", "full_name": "", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_889932_75sq_1291277200.jpg", "id": "889932"}, "created_time": "2010-12-29T02:51:53+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/28/b8ff036f071c4ac4b8a66bea459eebf6_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/28/b8ff036f071c4ac4b8a66bea459eebf6_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/28/b8ff036f071c4ac4b8a66bea459eebf6_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "12665727", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T00:43:07+0000", "message": "#cat 's #eyes , #cateyes", "from": {"username": "camilletwentyseven", "id": "983122"}, "id": "26217085"}, {"created_time": "2011-02-02T01:19:29+0000", "message": "The Cats Eye! ;)", "from": {"username": "andy_warhol", "id": "1540858"}, "id": "26229252"}], "caption": {"created_time": "2011-02-02T00:43:07+0000", "message": "#cat 's #eyes , #cateyes", "from": {"username": "camilletwentyseven", "id": "983122"}, "id": "26217085"}, "like_count": 5, "link": "http://api_privatebeta.instagr.am/p/BVnlX/", "user": {"username": "camilletwentyseven", "full_name": "Camille ~ ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_983122_75sq_1296348573.jpg", "id": "983122"}, "created_time": "2011-02-02T00:42:50+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/1d7e99a9ae5145aabd68ffdeaa771698_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/1d7e99a9ae5145aabd68ffdeaa771698_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/1d7e99a9ae5145aabd68ffdeaa771698_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "22444375", "location": null}, {"type": "image", "comments": [{"created_time": "2010-12-29T02:55:11+0000", "message": "", "from": {"username": "tashiko", "id": "889932"}, "id": "13087621"}, {"created_time": "2011-01-04T02:42:26+0000", "message": "So lovely!", "from": {"username": "taki17", "id": "411305"}, "id": "14977647"}, {"created_time": "2011-01-04T02:53:39+0000", "message": "@taki17 - I thought u might like these kitties!! ", "from": {"username": "tashiko", "id": "889932"}, "id": "14980241"}, {"created_time": "2011-01-04T03:06:08+0000", "message": "Ya I love it so much!", "from": {"username": "taki17", "id": "411305"}, "id": "14983160"}, {"created_time": "2011-02-02T00:42:18+0000", "message": "#Tashiko #cat #kitten", "from": {"username": "tashiko", "id": "889932"}, "id": "26216824"}], "caption": {"created_time": "2010-12-29T02:55:11+0000", "message": "", "from": {"username": "tashiko", "id": "889932"}, "id": "13087621"}, "like_count": 2, "link": "http://api_privatebeta.instagr.am/p/wUWU/", "user": {"username": "tashiko", "full_name": "", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_889932_75sq_1291277200.jpg", "id": "889932"}, "created_time": "2010-12-29T02:55:09+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/28/be01cefa28ee41b0beda68d4c249d514_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/28/be01cefa28ee41b0beda68d4c249d514_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/28/be01cefa28ee41b0beda68d4c249d514_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "12666260", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T00:33:51+0000", "message": "おはようございます(^_^)優雅なお目覚め、メイさんです♡", "from": {"username": "ayachimaru", "id": "1568922"}, "id": "26214037"}, {"created_time": "2011-02-02T00:34:16+0000", "message": "#cat", "from": {"username": "ayachimaru", "id": "1568922"}, "id": "26214171"}, {"created_time": "2011-02-02T00:39:32+0000", "message": "おはようございます( ´ ▽ ` )ノ 美人さんですね", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26215878"}], "caption": {"created_time": "2011-02-02T00:33:51+0000", "message": "おはようございます(^_^)優雅なお目覚め、メイさんです♡", "from": {"username": "ayachimaru", "id": "1568922"}, "id": "26214037"}, "like_count": 1, "link": "http://api_privatebeta.instagr.am/p/BVnHI/", "user": {"username": "ayachimaru", "full_name": "", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1568922_75sq_1296342395.jpg", "id": "1568922"}, "created_time": "2011-02-02T00:33:10+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/8391c99328b04265b231065033dda4c7_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/8391c99328b04265b231065033dda4c7_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/8391c99328b04265b231065033dda4c7_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "22442440", "location": null}, {"type": "image", "comments": [{"created_time": "2011-01-20T12:00:25+0000", "message": "にゃーこも黄昏るんだよ。なら、わしら人間も黄昏れようよ。そんな急かせかしないでさ。", "from": {"username": "break08mia", "id": "212679"}, "id": "20755823"}, {"created_time": "2011-01-20T12:12:26+0000", "message": "のんびりニャー", "from": {"username": "inahoo", "id": "845707"}, "id": "20759132"}, {"created_time": "2011-01-20T12:15:36+0000", "message": "ほんとだ! 自分の時間って必要だよね。", "from": {"username": "genzo", "id": "231388"}, "id": "20760033"}, {"created_time": "2011-01-20T12:27:26+0000", "message": "今まさに黄昏てるよ。( ̄。 ̄*)ボ----------", "from": {"username": "kame_chi", "id": "144925"}, "id": "20763443"}, {"created_time": "2011-01-20T12:34:40+0000", "message": "( ´ ▽ ` )ノ", "from": {"username": "cfumi_loveyou", "id": "787830"}, "id": "20765579"}, {"created_time": "2011-01-20T12:49:43+0000", "message": "+。:.゚(* ゚A ゚*):.。+゚ぽけー", "from": {"username": "kikuji", "id": "141620"}, "id": "20769901"}, {"created_time": "2011-01-20T13:05:31+0000", "message": "うんうん♥ゆっくりまったりね。", "from": {"username": "aoi3179", "id": "589625"}, "id": "20774611"}, {"created_time": "2011-01-20T14:32:11+0000", "message": "いい構図!黄昏てますね〜♬こんな時間って大事だよなぁ〜", "from": {"username": "ebapi", "id": "257364"}, "id": "20801658"}, {"created_time": "2011-01-20T15:21:21+0000", "message": "コンスタントに黄昏ます(。-_-。)", "from": {"username": "dai_suke", "id": "124496"}, "id": "20817536"}, {"created_time": "2011-01-20T15:50:03+0000", "message": "Kawaiiii ", "from": {"username": "yuriko211", "id": "182316"}, "id": "20826471"}, {"created_time": "2011-01-20T15:52:18+0000", "message": "いいね。その感じ♪( ´▽`)そうでありたいな~♪", "from": {"username": "eri1982", "id": "748613"}, "id": "20827141"}, {"created_time": "2011-01-20T16:17:44+0000", "message": "ごもっとも(笑)", "from": {"username": "jyonzo", "id": "167443"}, "id": "20834724"}, {"created_time": "2011-01-20T17:32:05+0000", "message": "♪(´ε` )", "from": {"username": "1100211", "id": "211271"}, "id": "20854833"}, {"created_time": "2011-01-21T10:17:30+0000", "message": "@inahoo だにゃあー♥花金だあー♥", "from": {"username": "break08mia", "id": "212679"}, "id": "21105445"}, {"created_time": "2011-01-21T10:18:03+0000", "message": "@genzo 時間を上手く使える人は大人だなあと思います!", "from": {"username": "break08mia", "id": "212679"}, "id": "21105569"}, {"created_time": "2011-01-21T10:18:33+0000", "message": "@kame_chi いいなw 私はこれから♥ひひひっ♥", "from": {"username": "break08mia", "id": "212679"}, "id": "21105678"}, {"created_time": "2011-01-21T10:18:59+0000", "message": "@cfumi_loveyou いいでしょ?(o^^o)", "from": {"username": "break08mia", "id": "212679"}, "id": "21105783"}, {"created_time": "2011-01-21T10:19:17+0000", "message": "@kikuji 君もかいw", "from": {"username": "break08mia", "id": "212679"}, "id": "21105851"}, {"created_time": "2011-01-21T10:20:10+0000", "message": "@aoi3179 私の人生の大半はゆっくりまったりwそれでもなお、にゃーこが羨ましい♥", "from": {"username": "break08mia", "id": "212679"}, "id": "21106040"}, {"created_time": "2011-01-21T10:21:19+0000", "message": "@ebapi そう見えますよね♥私も猫になったつもりで、本日のんびりさせていただきますw", "from": {"username": "break08mia", "id": "212679"}, "id": "21106290"}, {"created_time": "2011-01-21T10:21:55+0000", "message": "@dai_suke それ人生において、非常に大切なポイントだと思う!", "from": {"username": "break08mia", "id": "212679"}, "id": "21106439"}, {"created_time": "2011-01-21T10:22:38+0000", "message": "@yuriko211 にゃーこはいつも可愛くて羨ましいですね(´Д` )♥", "from": {"username": "break08mia", "id": "212679"}, "id": "21106597"}, {"created_time": "2011-01-21T10:23:56+0000", "message": "@eri1982 なかなか黄昏れる余裕ないもんねー。生きづらいわっw今度一緒に黄昏ようー♥", "from": {"username": "break08mia", "id": "212679"}, "id": "21106905"}, {"created_time": "2011-01-21T10:24:44+0000", "message": "@jyonzo そう思ってもらえて我輩うれしいにゃー♥", "from": {"username": "break08mia", "id": "212679"}, "id": "21107072"}, {"created_time": "2011-01-21T10:25:16+0000", "message": "@110211( *`ω´) ノ", "from": {"username": "break08mia", "id": "212679"}, "id": "21107188"}, {"created_time": "2011-01-23T01:38:33+0000", "message": "にゃーこと日向ぼっこもしたいにゃー(「ΦωΦ)♡", "from": {"username": "sakisugita", "id": "74513"}, "id": "21788864"}, {"created_time": "2011-01-23T03:12:49+0000", "message": "いい写真だな〜(^^)", "from": {"username": "respetar", "id": "237709"}, "id": "21818611"}, {"created_time": "2011-02-02T00:25:37+0000", "message": "#break08mia #cat", "from": {"username": "break08mia", "id": "212679"}, "id": "26211338"}], "caption": {"created_time": "2011-01-20T12:00:25+0000", "message": "にゃーこも黄昏るんだよ。なら、わしら人間も黄昏れようよ。そんな急かせかしないでさ。", "from": {"username": "break08mia", "id": "212679"}, "id": "20755823"}, "like_count": 77, "link": "http://api_privatebeta.instagr.am/p/BG82f/", "user": {"username": "break08mia", "full_name": "Tw:@ Mikan0range", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_212679_75sq_1288622923.jpg", "id": "212679"}, "created_time": "2011-01-20T11:58:58+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/01/20/e6fe0fb1ef944183a33f7862ef91cff1_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2011/01/20/e6fe0fb1ef944183a33f7862ef91cff1_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2011/01/20/e6fe0fb1ef944183a33f7862ef91cff1_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "18599327", "location": null}, {"type": "image", "comments": [{"created_time": "2010-12-19T13:43:36+0000", "message": "足が痺れた ㅠㅠ", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "10500494"}, {"created_time": "2010-12-25T22:53:07+0000", "message": "この眼差しがいいですね☆(^^)", "from": {"username": "mayugonz", "id": "660351"}, "id": "12212162"}, {"created_time": "2011-02-02T00:25:21+0000", "message": "#orangetabby #orangecat #cat\n#kanchan", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26211246"}], "caption": {"created_time": "2010-12-19T13:43:36+0000", "message": "足が痺れた ㅠㅠ", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "10500494"}, "like_count": 6, "link": "http://api_privatebeta.instagr.am/p/nklf/", "user": {"username": "miyabiyaka", "full_name": " Yuuka ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_681498_75sq_1295987698.jpg", "id": "681498"}, "created_time": "2010-12-19T13:43:14+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/19/14620267e61e4fba8a49401f1257e7f3_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/19/14620267e61e4fba8a49401f1257e7f3_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/19/14620267e61e4fba8a49401f1257e7f3_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "10373471", "location": null}, {"type": "image", "comments": [{"created_time": "2010-12-26T06:21:07+0000", "message": "今日も なかよし", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "12300004"}, {"created_time": "2010-12-26T12:06:39+0000", "message": "いい子だねー♥(^▿^。)", "from": {"username": "2120sma", "id": "196066"}, "id": "12359152"}, {"created_time": "2011-02-02T00:24:43+0000", "message": "#orangetabby #orangecat #cat\n#kanchan #taejakun", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26211020"}], "caption": {"created_time": "2010-12-26T06:21:07+0000", "message": "今日も なかよし", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "12300004"}, "like_count": 7, "link": "http://api_privatebeta.instagr.am/p/toJt/", "user": {"username": "miyabiyaka", "full_name": " Yuuka ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_681498_75sq_1295987698.jpg", "id": "681498"}, "created_time": "2010-12-26T06:20:51+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/25/64c1d4b0f8d64ef1a19903b56bef9b6a_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/25/64c1d4b0f8d64ef1a19903b56bef9b6a_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/25/64c1d4b0f8d64ef1a19903b56bef9b6a_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "11960941", "location": null}, {"type": "image", "comments": [{"created_time": "2010-12-26T06:24:00+0000", "message": "寒いねぇ 眠いねぇ", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "12300470"}, {"created_time": "2011-02-02T00:24:32+0000", "message": "#orangetabby #orangecat #cat\n#kanchan #taejakun", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26210962"}], "caption": {"created_time": "2010-12-26T06:24:00+0000", "message": "寒いねぇ 眠いねぇ", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "12300470"}, "like_count": 6, "link": "http://api_privatebeta.instagr.am/p/toRk/", "user": {"username": "miyabiyaka", "full_name": " Yuuka ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_681498_75sq_1295987698.jpg", "id": "681498"}, "created_time": "2010-12-26T06:23:33+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/25/191f3b2c7aeb446da7e01d4c813ea849_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/25/191f3b2c7aeb446da7e01d4c813ea849_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/25/191f3b2c7aeb446da7e01d4c813ea849_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "11961444", "location": null}, {"type": "image", "comments": [{"created_time": "2010-12-26T06:34:09+0000", "message": "むにゃむにゃ", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "12302175"}, {"created_time": "2011-02-02T00:24:20+0000", "message": "#orangetabby #orangecat #cat\n#kanchan #taejakun", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26210893"}], "caption": {"created_time": "2010-12-26T06:34:09+0000", "message": "むにゃむにゃ", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "12302175"}, "like_count": 6, "link": "http://api_privatebeta.instagr.am/p/tove/", "user": {"username": "miyabiyaka", "full_name": " Yuuka ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_681498_75sq_1295987698.jpg", "id": "681498"}, "created_time": "2010-12-26T06:34:07+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/25/8357d3db223e460ebe6c82f5c7f22083_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/25/8357d3db223e460ebe6c82f5c7f22083_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/25/8357d3db223e460ebe6c82f5c7f22083_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "11963358", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T00:24:08+0000", "message": "#orangetabby #orangecat #cat\n#kanchan", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26210825"}], "caption": null, "like_count": 5, "link": "http://api_privatebeta.instagr.am/p/xSRh/", "user": {"username": "miyabiyaka", "full_name": " Yuuka ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_681498_75sq_1295987698.jpg", "id": "681498"}, "created_time": "2010-12-30T03:21:55+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/29/f2be14b699904f359585098035afda2a_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/29/f2be14b699904f359585098035afda2a_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/29/f2be14b699904f359585098035afda2a_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "12919905", "location": null}, {"type": "image", "comments": [{"created_time": "2010-12-30T03:22:46+0000", "message": "大掃除が終わりません", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "13389363"}, {"created_time": "2011-02-02T00:23:54+0000", "message": "#orangetabby #orangecat #cat\n#kanchan", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26210739"}], "caption": {"created_time": "2010-12-30T03:22:46+0000", "message": "大掃除が終わりません", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "13389363"}, "like_count": 7, "link": "http://api_privatebeta.instagr.am/p/xSTH/", "user": {"username": "miyabiyaka", "full_name": " Yuuka ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_681498_75sq_1295987698.jpg", "id": "681498"}, "created_time": "2010-12-30T03:22:25+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/29/7ba3e40263444617a22510a1440e4768_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/29/7ba3e40263444617a22510a1440e4768_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/29/7ba3e40263444617a22510a1440e4768_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "12920007", "location": null}, {"type": "image", "comments": [{"created_time": "2010-12-30T03:34:23+0000", "message": "幸せそうv", "from": {"username": "usyako", "id": "300667"}, "id": "13391776"}, {"created_time": "2011-02-02T00:23:39+0000", "message": "#orangetabby #orangecat #cat\n#kanchan", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26210658"}], "caption": null, "like_count": 6, "link": "http://api_privatebeta.instagr.am/p/xSZe/", "user": {"username": "miyabiyaka", "full_name": " Yuuka ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_681498_75sq_1295987698.jpg", "id": "681498"}, "created_time": "2010-12-30T03:24:41+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/29/330ddc6c02504318ab5097ae2b3c0788_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/29/330ddc6c02504318ab5097ae2b3c0788_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/29/330ddc6c02504318ab5097ae2b3c0788_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "12920414", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T00:23:25+0000", "message": "#orangetabby #orangecat #cat\n#kanchan #taejakun", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26210570"}], "caption": null, "like_count": 2, "link": "http://api_privatebeta.instagr.am/p/ysb4/", "user": {"username": "miyabiyaka", "full_name": " Yuuka ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_681498_75sq_1295987698.jpg", "id": "681498"}, "created_time": "2010-12-31T12:22:46+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/31/4dd358aba2eb419b9bee64204af2e159_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/31/4dd358aba2eb419b9bee64204af2e159_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/31/4dd358aba2eb419b9bee64204af2e159_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "13289208", "location": null}, {"type": "image", "comments": [{"created_time": "2011-02-02T00:23:15+0000", "message": "#orangetabby #orangecat #cat\n#kanchan #taejakun", "from": {"username": "miyabiyaka", "id": "681498"}, "id": "26210504"}], "caption": null, "like_count": 5, "link": "http://api_privatebeta.instagr.am/p/ysc4/", "user": {"username": "miyabiyaka", "full_name": " Yuuka ", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_681498_75sq_1295987698.jpg", "id": "681498"}, "created_time": "2010-12-31T12:23:01+0000", "images": {"low_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/31/2726981bc6f5471ca680447980e64bdc_6.jpg", "width": 480, "height": 480}, "thumbnail": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/31/2726981bc6f5471ca680447980e64bdc_5.jpg", "width": 150, "height": 150}, "high_resolution": {"url": "http://distillery.s3.amazonaws.com/media/2010/12/31/2726981bc6f5471ca680447980e64bdc_7.jpg", "width": 612, "height": 612}}, "user_has_liked": false, "id": "13289272", "location": null}]}
@@ -0,0 +1,9 @@
1
+ {
2
+ "meta": {
3
+ "code": 200
4
+ },
5
+ "data": {
6
+ "outgoing_status": "none",
7
+ "incoming_status": "requested_by"
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "meta": {
3
+ "code": 200
4
+ },
5
+ "data": {
6
+ "outgoing_status": "none"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "meta": {
3
+ "code": 200
4
+ },
5
+ "data": {
6
+ "outgoing_status": "none"
7
+ }
8
+ }
@@ -0,0 +1,37 @@
1
+ require File.expand_path('../../../spec_helper', __FILE__)
2
+
3
+ describe Instagram::Client do
4
+ Instagram::Configuration::VALID_FORMATS.each do |format|
5
+ context ".new(:format => '#{format}')" do
6
+ before do
7
+ @client = Instagram::Client.new(:format => format, :client_id => 'CID', :client_secret => 'CS', :access_token => 'AT')
8
+ end
9
+
10
+
11
+ describe ".geography_recent_media" do
12
+
13
+ context "with geography ID passed" do
14
+
15
+ before do
16
+ stub_get("geographies/12345/media/recent.#{format}").
17
+ with(:query => {:access_token => @client.access_token}).
18
+ to_return(:body => fixture("geography_recent_media.#{format}"), :headers => {:content_type => "application/#{format}; charset=utf-8"})
19
+ end
20
+
21
+ it "should get the correct resource" do
22
+ @client.geography_recent_media(12345)
23
+ a_get("geographies/12345/media/recent.#{format}").
24
+ with(:query => {:access_token => @client.access_token}).
25
+ should have_been_made
26
+ end
27
+
28
+ it "should return a list of recent media items within the specifed geography" do
29
+ recent_media = @client.geography_recent_media(12345)
30
+ recent_media.should be_a Array
31
+ recent_media.first.user.username.should == "amandavan"
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -232,6 +232,153 @@ describe Instagram::Client do
232
232
  users.first.username.should == "shayne"
233
233
  end
234
234
  end
235
+
236
+ describe ".user_relationship" do
237
+
238
+ before do
239
+ stub_get("users/4/relationship.#{format}").
240
+ with(:query => {:access_token => @client.access_token}).
241
+ to_return(:body => fixture("relationship.#{format}"), :headers => {:content_type => "application/#{format}; charset=utf-8"})
242
+ end
243
+
244
+ it "should get the correct resource" do
245
+ @client.user_relationship(4)
246
+ a_get("users/4/relationship.#{format}").
247
+ with(:query => {:access_token => @client.access_token}).
248
+ should have_been_made
249
+ end
250
+
251
+ it "should return a relationship status response" do
252
+ status = @client.user_relationship(4)
253
+ status.incoming_status.should == "requested_by"
254
+ end
255
+ end
256
+
257
+ describe ".follow_user" do
258
+
259
+ before do
260
+ stub_post("users/4/relationship.#{format}").
261
+ with(:body => {:action => "follow", :access_token => @client.access_token}).
262
+ to_return(:body => fixture("follow_user.#{format}"), :headers => {:content_type => "application/#{format}; charset=utf-8"})
263
+ end
264
+
265
+ it "should get the correct resource" do
266
+ @client.follow_user(4)
267
+ a_post("users/4/relationship.#{format}").
268
+ with(:body => {:action => "follow", :access_token => @client.access_token}).
269
+ should have_been_made
270
+ end
271
+
272
+ it "should return a relationship status response" do
273
+ status = @client.follow_user(4)
274
+ status.outgoing_status.should == "requested"
275
+ end
276
+ end
277
+
278
+ describe ".unfollow_user" do
279
+
280
+ before do
281
+ stub_post("users/4/relationship.#{format}").
282
+ with(:body => {:action => "unfollow", :access_token => @client.access_token}).
283
+ to_return(:body => fixture("unfollow_user.#{format}"), :headers => {:content_type => "application/#{format}; charset=utf-8"})
284
+ end
285
+
286
+ it "should get the correct resource" do
287
+ @client.unfollow_user(4)
288
+ a_post("users/4/relationship.#{format}").
289
+ with(:body => {:action => "unfollow", :access_token => @client.access_token}).
290
+ should have_been_made
291
+ end
292
+
293
+ it "should return a relationship status response" do
294
+ status = @client.unfollow_user(4)
295
+ status.outgoing_status.should == "none"
296
+ end
297
+ end
298
+
299
+ describe ".block_user" do
300
+
301
+ before do
302
+ stub_post("users/4/relationship.#{format}").
303
+ with(:body => {:action => "block", :access_token => @client.access_token}).
304
+ to_return(:body => fixture("block_user.#{format}"), :headers => {:content_type => "application/#{format}; charset=utf-8"})
305
+ end
306
+
307
+ it "should get the correct resource" do
308
+ @client.block_user(4)
309
+ a_post("users/4/relationship.#{format}").
310
+ with(:body => {:action => "block", :access_token => @client.access_token}).
311
+ should have_been_made
312
+ end
313
+
314
+ it "should return a relationship status response" do
315
+ status = @client.block_user(4)
316
+ status.outgoing_status.should == "none"
317
+ end
318
+ end
319
+
320
+ describe ".unblock_user" do
321
+
322
+ before do
323
+ stub_post("users/4/relationship.#{format}").
324
+ with(:body => {:action => "unblock", :access_token => @client.access_token}).
325
+ to_return(:body => fixture("unblock_user.#{format}"), :headers => {:content_type => "application/#{format}; charset=utf-8"})
326
+ end
327
+
328
+ it "should get the correct resource" do
329
+ @client.unblock_user(4)
330
+ a_post("users/4/relationship.#{format}").
331
+ with(:body => {:action => "unblock", :access_token => @client.access_token}).
332
+ should have_been_made
333
+ end
334
+
335
+ it "should return a relationship status response" do
336
+ status = @client.unblock_user(4)
337
+ status.outgoing_status.should == "none"
338
+ end
339
+ end
340
+
341
+ describe ".approve_user" do
342
+
343
+ before do
344
+ stub_post("users/4/relationship.#{format}").
345
+ with(:body => {:action => "approve", :access_token => @client.access_token}).
346
+ to_return(:body => fixture("approve_user.#{format}"), :headers => {:content_type => "application/#{format}; charset=utf-8"})
347
+ end
348
+
349
+ it "should get the correct resource" do
350
+ @client.approve_user(4)
351
+ a_post("users/4/relationship.#{format}").
352
+ with(:body => {:action => "approve", :access_token => @client.access_token}).
353
+ should have_been_made
354
+ end
355
+
356
+ it "should return a relationship status response" do
357
+ status = @client.approve_user(4)
358
+ status.outgoing_status.should == "follows"
359
+ end
360
+ end
361
+
362
+ describe ".deny_user" do
363
+
364
+ before do
365
+ stub_post("users/4/relationship.#{format}").
366
+ with(:body => {:action => "deny", :access_token => @client.access_token}).
367
+ to_return(:body => fixture("deny_user.#{format}"), :headers => {:content_type => "application/#{format}; charset=utf-8"})
368
+ end
369
+
370
+ it "should get the correct resource" do
371
+ @client.deny_user(4)
372
+ a_post("users/4/relationship.#{format}").
373
+ with(:body => {:action => "deny", :access_token => @client.access_token}).
374
+ should have_been_made
375
+ end
376
+
377
+ it "should return a relationship status response" do
378
+ status = @client.deny_user(4)
379
+ status.outgoing_status.should == "none"
380
+ end
381
+ end
235
382
  end
236
383
  end
237
384
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 6
8
- - 1
9
- version: 0.6.1
8
+ - 2
9
+ version: 0.6.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Shayne Sweeney
@@ -14,12 +14,11 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-03-04 00:00:00 -08:00
17
+ date: 2011-05-09 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: bundler
22
- prerelease: false
23
22
  requirement: &id001 !ruby/object:Gem::Requirement
24
23
  none: false
25
24
  requirements:
@@ -30,10 +29,10 @@ dependencies:
30
29
  - 0
31
30
  version: "1.0"
32
31
  type: :development
32
+ prerelease: false
33
33
  version_requirements: *id001
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: rake
36
- prerelease: false
37
36
  requirement: &id002 !ruby/object:Gem::Requirement
38
37
  none: false
39
38
  requirements:
@@ -44,10 +43,10 @@ dependencies:
44
43
  - 8
45
44
  version: "0.8"
46
45
  type: :development
46
+ prerelease: false
47
47
  version_requirements: *id002
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rspec
50
- prerelease: false
51
50
  requirement: &id003 !ruby/object:Gem::Requirement
52
51
  none: false
53
52
  requirements:
@@ -58,10 +57,10 @@ dependencies:
58
57
  - 4
59
58
  version: "2.4"
60
59
  type: :development
60
+ prerelease: false
61
61
  version_requirements: *id003
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: yard
64
- prerelease: false
65
64
  requirement: &id004 !ruby/object:Gem::Requirement
66
65
  none: false
67
66
  requirements:
@@ -72,10 +71,10 @@ dependencies:
72
71
  - 6
73
72
  version: "0.6"
74
73
  type: :development
74
+ prerelease: false
75
75
  version_requirements: *id004
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: simplecov
78
- prerelease: false
79
78
  requirement: &id005 !ruby/object:Gem::Requirement
80
79
  none: false
81
80
  requirements:
@@ -86,10 +85,10 @@ dependencies:
86
85
  - 3
87
86
  version: "0.3"
88
87
  type: :development
88
+ prerelease: false
89
89
  version_requirements: *id005
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: webmock
92
- prerelease: false
93
92
  requirement: &id006 !ruby/object:Gem::Requirement
94
93
  none: false
95
94
  requirements:
@@ -100,10 +99,10 @@ dependencies:
100
99
  - 6
101
100
  version: "1.6"
102
101
  type: :development
102
+ prerelease: false
103
103
  version_requirements: *id006
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: ZenTest
106
- prerelease: false
107
106
  requirement: &id007 !ruby/object:Gem::Requirement
108
107
  none: false
109
108
  requirements:
@@ -114,25 +113,25 @@ dependencies:
114
113
  - 4
115
114
  version: "4.4"
116
115
  type: :development
116
+ prerelease: false
117
117
  version_requirements: *id007
118
118
  - !ruby/object:Gem::Dependency
119
- name: faraday
120
- prerelease: false
119
+ name: bluecloth
121
120
  requirement: &id008 !ruby/object:Gem::Requirement
122
121
  none: false
123
122
  requirements:
124
123
  - - ~>
125
124
  - !ruby/object:Gem::Version
126
125
  segments:
126
+ - 2
127
127
  - 0
128
- - 5
129
- - 4
130
- version: 0.5.4
131
- type: :runtime
128
+ - 11
129
+ version: 2.0.11
130
+ type: :development
131
+ prerelease: false
132
132
  version_requirements: *id008
133
133
  - !ruby/object:Gem::Dependency
134
- name: faraday_middleware
135
- prerelease: false
134
+ name: faraday
136
135
  requirement: &id009 !ruby/object:Gem::Requirement
137
136
  none: false
138
137
  requirements:
@@ -140,14 +139,14 @@ dependencies:
140
139
  - !ruby/object:Gem::Version
141
140
  segments:
142
141
  - 0
143
- - 3
144
- - 1
145
- version: 0.3.1
142
+ - 5
143
+ - 4
144
+ version: 0.5.4
146
145
  type: :runtime
146
+ prerelease: false
147
147
  version_requirements: *id009
148
148
  - !ruby/object:Gem::Dependency
149
- name: multi_json
150
- prerelease: false
149
+ name: faraday_middleware
151
150
  requirement: &id010 !ruby/object:Gem::Requirement
152
151
  none: false
153
152
  requirements:
@@ -155,40 +154,41 @@ dependencies:
155
154
  - !ruby/object:Gem::Version
156
155
  segments:
157
156
  - 0
158
- - 0
159
- - 5
160
- version: 0.0.5
157
+ - 3
158
+ - 1
159
+ version: 0.3.1
161
160
  type: :runtime
161
+ prerelease: false
162
162
  version_requirements: *id010
163
163
  - !ruby/object:Gem::Dependency
164
- name: hashie
165
- prerelease: false
164
+ name: multi_json
166
165
  requirement: &id011 !ruby/object:Gem::Requirement
167
166
  none: false
168
167
  requirements:
169
168
  - - ~>
170
169
  - !ruby/object:Gem::Version
171
170
  segments:
172
- - 1
173
171
  - 0
174
172
  - 0
175
- version: 1.0.0
173
+ - 5
174
+ version: 0.0.5
176
175
  type: :runtime
176
+ prerelease: false
177
177
  version_requirements: *id011
178
178
  - !ruby/object:Gem::Dependency
179
- name: ruby-hmac
180
- prerelease: false
179
+ name: hashie
181
180
  requirement: &id012 !ruby/object:Gem::Requirement
182
181
  none: false
183
182
  requirements:
184
183
  - - ~>
185
184
  - !ruby/object:Gem::Version
186
185
  segments:
186
+ - 1
187
187
  - 0
188
- - 4
189
188
  - 0
190
- version: 0.4.0
189
+ version: 1.0.0
191
190
  type: :runtime
191
+ prerelease: false
192
192
  version_requirements: *id012
193
193
  description: A Ruby wrapper for the Instagram REST and Search APIs
194
194
  email:
@@ -215,10 +215,10 @@ files:
215
215
  - lib/instagram/api.rb
216
216
  - lib/instagram/client.rb
217
217
  - lib/instagram/client/comments.rb
218
+ - lib/instagram/client/geographies.rb
218
219
  - lib/instagram/client/likes.rb
219
220
  - lib/instagram/client/locations.rb
220
221
  - lib/instagram/client/media.rb
221
- - lib/instagram/client/real_time.rb
222
222
  - lib/instagram/client/subscriptions.rb
223
223
  - lib/instagram/client/tags.rb
224
224
  - lib/instagram/client/users.rb
@@ -231,8 +231,13 @@ files:
231
231
  - lib/instagram/version.rb
232
232
  - spec/faraday/response_spec.rb
233
233
  - spec/fixtures/access_token.json
234
+ - spec/fixtures/approve_user.json
235
+ - spec/fixtures/block_user.json
236
+ - spec/fixtures/deny_user.json
237
+ - spec/fixtures/follow_user.json
234
238
  - spec/fixtures/followed_by.json
235
239
  - spec/fixtures/follows.json
240
+ - spec/fixtures/geography_recent_media.json
236
241
  - spec/fixtures/location.json
237
242
  - spec/fixtures/location_recent_media.json
238
243
  - spec/fixtures/location_search.json
@@ -247,6 +252,7 @@ files:
247
252
  - spec/fixtures/media_unliked.json
248
253
  - spec/fixtures/mikeyk.json
249
254
  - spec/fixtures/recent_media.json
255
+ - spec/fixtures/relationship.json
250
256
  - spec/fixtures/requested_by.json
251
257
  - spec/fixtures/shayne.json
252
258
  - spec/fixtures/subscription.json
@@ -256,14 +262,16 @@ files:
256
262
  - spec/fixtures/tag.json
257
263
  - spec/fixtures/tag_recent_media.json
258
264
  - spec/fixtures/tag_search.json
265
+ - spec/fixtures/unblock_user.json
266
+ - spec/fixtures/unfollow_user.json
259
267
  - spec/fixtures/user_media_feed.json
260
268
  - spec/fixtures/user_search.json
261
269
  - spec/instagram/api_spec.rb
262
270
  - spec/instagram/client/comments_spec.rb
271
+ - spec/instagram/client/geography_spec.rb
263
272
  - spec/instagram/client/likes_spec.rb
264
273
  - spec/instagram/client/locations_spec.rb
265
274
  - spec/instagram/client/media_spec.rb
266
- - spec/instagram/client/real_time_spec.rb
267
275
  - spec/instagram/client/subscriptions_spec.rb
268
276
  - spec/instagram/client/tags_spec.rb
269
277
  - spec/instagram/client/users_spec.rb
@@ -294,6 +302,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
294
302
  requirements:
295
303
  - - ">="
296
304
  - !ruby/object:Gem::Version
305
+ hash: -798514324542914506
297
306
  segments:
298
307
  - 0
299
308
  version: "0"
@@ -317,8 +326,13 @@ summary: Ruby wrapper for the Instagram API
317
326
  test_files:
318
327
  - spec/faraday/response_spec.rb
319
328
  - spec/fixtures/access_token.json
329
+ - spec/fixtures/approve_user.json
330
+ - spec/fixtures/block_user.json
331
+ - spec/fixtures/deny_user.json
332
+ - spec/fixtures/follow_user.json
320
333
  - spec/fixtures/followed_by.json
321
334
  - spec/fixtures/follows.json
335
+ - spec/fixtures/geography_recent_media.json
322
336
  - spec/fixtures/location.json
323
337
  - spec/fixtures/location_recent_media.json
324
338
  - spec/fixtures/location_search.json
@@ -333,6 +347,7 @@ test_files:
333
347
  - spec/fixtures/media_unliked.json
334
348
  - spec/fixtures/mikeyk.json
335
349
  - spec/fixtures/recent_media.json
350
+ - spec/fixtures/relationship.json
336
351
  - spec/fixtures/requested_by.json
337
352
  - spec/fixtures/shayne.json
338
353
  - spec/fixtures/subscription.json
@@ -342,14 +357,16 @@ test_files:
342
357
  - spec/fixtures/tag.json
343
358
  - spec/fixtures/tag_recent_media.json
344
359
  - spec/fixtures/tag_search.json
360
+ - spec/fixtures/unblock_user.json
361
+ - spec/fixtures/unfollow_user.json
345
362
  - spec/fixtures/user_media_feed.json
346
363
  - spec/fixtures/user_search.json
347
364
  - spec/instagram/api_spec.rb
348
365
  - spec/instagram/client/comments_spec.rb
366
+ - spec/instagram/client/geography_spec.rb
349
367
  - spec/instagram/client/likes_spec.rb
350
368
  - spec/instagram/client/locations_spec.rb
351
369
  - spec/instagram/client/media_spec.rb
352
- - spec/instagram/client/real_time_spec.rb
353
370
  - spec/instagram/client/subscriptions_spec.rb
354
371
  - spec/instagram/client/tags_spec.rb
355
372
  - spec/instagram/client/users_spec.rb
@@ -1,8 +0,0 @@
1
- module Instagram
2
- class Client
3
- # Defines methods related to real-time
4
- module RealTime
5
- # TODO
6
- end
7
- end
8
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../../../spec_helper', __FILE__)
2
-
3
- describe Instagram::Client do
4
- Instagram::Configuration::VALID_FORMATS.each do |format|
5
- context ".new(:format => '#{format}')" do
6
-
7
- before do
8
- @client = Instagram::Client.new(:format => format, :client_id => 'CID', :access_token => 'AT')
9
- end
10
-
11
- end
12
- end
13
- end