instagram 0.6.1 → 0.6.2
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.
- data/LICENSE.md +1 -1
- data/README.md +1 -1
- data/instagram.gemspec +1 -1
- data/lib/instagram/client.rb +1 -0
- data/lib/instagram/client/geographies.rb +29 -0
- data/lib/instagram/client/locations.rb +3 -3
- data/lib/instagram/client/media.rb +1 -1
- data/lib/instagram/client/subscriptions.rb +5 -4
- data/lib/instagram/client/tags.rb +2 -2
- data/lib/instagram/client/users.rb +132 -7
- data/lib/instagram/version.rb +1 -1
- data/spec/fixtures/approve_user.json +8 -0
- data/spec/fixtures/block_user.json +8 -0
- data/spec/fixtures/deny_user.json +8 -0
- data/spec/fixtures/follow_user.json +8 -0
- data/spec/fixtures/geography_recent_media.json +1 -0
- data/spec/fixtures/relationship.json +9 -0
- data/spec/fixtures/unblock_user.json +8 -0
- data/spec/fixtures/unfollow_user.json +8 -0
- data/spec/instagram/client/geography_spec.rb +37 -0
- data/spec/instagram/client/users_spec.rb +147 -0
- metadata +54 -37
- data/lib/instagram/client/real_time.rb +0 -8
- data/spec/instagram/client/real_time_spec.rb +0 -13
data/LICENSE.md
CHANGED
data/README.md
CHANGED
data/instagram.gemspec
CHANGED
@@ -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
|
data/lib/instagram/client.rb
CHANGED
@@ -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
|
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
|
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.
|
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.
|
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 '
|
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
|
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
|
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
|
-
|
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
|
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.
|
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.
|
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
|
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
|
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
|
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
|
123
|
+
# @option optionsc [Integer] :count Specifies the number of records to retrieve, per page.
|
124
124
|
# @return [Array]
|
125
|
-
# @example Return
|
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
|
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
|
data/lib/instagram/version.rb
CHANGED
@@ -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,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
|
-
-
|
9
|
-
version: 0.6.
|
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-
|
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:
|
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
|
-
-
|
129
|
-
|
130
|
-
|
131
|
-
|
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:
|
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
|
-
-
|
144
|
-
-
|
145
|
-
version: 0.
|
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:
|
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
|
-
-
|
159
|
-
-
|
160
|
-
version: 0.
|
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:
|
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
|
-
|
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:
|
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.
|
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,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
|