instagram-continued-continued 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.hound.yml +2 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +15 -0
  6. data/.travis.yml +20 -0
  7. data/.yardopts +9 -0
  8. data/Gemfile +3 -0
  9. data/LICENSE.md +30 -0
  10. data/PATENTS.md +23 -0
  11. data/README.md +15 -0
  12. data/Rakefile +23 -0
  13. data/instagram-continued-continued.gemspec +34 -0
  14. data/lib/faraday/loud_logger.rb +74 -0
  15. data/lib/faraday/oauth2.rb +40 -0
  16. data/lib/faraday/raise_http_exception.rb +61 -0
  17. data/lib/instagram.rb +28 -0
  18. data/lib/instagram/api.rb +31 -0
  19. data/lib/instagram/client.rb +21 -0
  20. data/lib/instagram/client/comments.rb +62 -0
  21. data/lib/instagram/client/embedding.rb +28 -0
  22. data/lib/instagram/client/geographies.rb +29 -0
  23. data/lib/instagram/client/likes.rb +58 -0
  24. data/lib/instagram/client/locations.rb +75 -0
  25. data/lib/instagram/client/media.rb +82 -0
  26. data/lib/instagram/client/subscriptions.rb +211 -0
  27. data/lib/instagram/client/tags.rb +59 -0
  28. data/lib/instagram/client/users.rb +310 -0
  29. data/lib/instagram/client/utils.rb +28 -0
  30. data/lib/instagram/configuration.rb +123 -0
  31. data/lib/instagram/connection.rb +33 -0
  32. data/lib/instagram/error.rb +34 -0
  33. data/lib/instagram/hashie_wrapper.rb +8 -0
  34. data/lib/instagram/oauth.rb +36 -0
  35. data/lib/instagram/request.rb +79 -0
  36. data/lib/instagram/response.rb +27 -0
  37. data/lib/instagram/version.rb +3 -0
  38. data/spec/faraday/response_spec.rb +85 -0
  39. data/spec/fixtures/access_token.json +9 -0
  40. data/spec/fixtures/approve_user.json +8 -0
  41. data/spec/fixtures/block_user.json +8 -0
  42. data/spec/fixtures/deny_user.json +8 -0
  43. data/spec/fixtures/follow_user.json +8 -0
  44. data/spec/fixtures/followed_by.json +1 -0
  45. data/spec/fixtures/follows.json +1 -0
  46. data/spec/fixtures/geography_recent_media.json +1 -0
  47. data/spec/fixtures/liked_media.json +1 -0
  48. data/spec/fixtures/location.json +1 -0
  49. data/spec/fixtures/location_recent_media.json +1 -0
  50. data/spec/fixtures/location_search.json +1 -0
  51. data/spec/fixtures/location_search_facebook.json +1 -0
  52. data/spec/fixtures/media.json +1 -0
  53. data/spec/fixtures/media_comment.json +1 -0
  54. data/spec/fixtures/media_comment_deleted.json +1 -0
  55. data/spec/fixtures/media_comments.json +1 -0
  56. data/spec/fixtures/media_liked.json +1 -0
  57. data/spec/fixtures/media_likes.json +1 -0
  58. data/spec/fixtures/media_popular.json +1 -0
  59. data/spec/fixtures/media_search.json +1 -0
  60. data/spec/fixtures/media_shortcode.json +1 -0
  61. data/spec/fixtures/media_unliked.json +1 -0
  62. data/spec/fixtures/mikeyk.json +1 -0
  63. data/spec/fixtures/oembed.json +14 -0
  64. data/spec/fixtures/recent_media.json +1 -0
  65. data/spec/fixtures/relationship.json +9 -0
  66. data/spec/fixtures/requested_by.json +12 -0
  67. data/spec/fixtures/shayne.json +1 -0
  68. data/spec/fixtures/subscription.json +12 -0
  69. data/spec/fixtures/subscription_deleted.json +1 -0
  70. data/spec/fixtures/subscription_payload.json +14 -0
  71. data/spec/fixtures/subscriptions.json +22 -0
  72. data/spec/fixtures/tag.json +1 -0
  73. data/spec/fixtures/tag_recent_media.json +1 -0
  74. data/spec/fixtures/tag_search.json +1 -0
  75. data/spec/fixtures/unblock_user.json +8 -0
  76. data/spec/fixtures/unfollow_user.json +8 -0
  77. data/spec/fixtures/user_media_feed.json +1 -0
  78. data/spec/fixtures/user_search.json +1 -0
  79. data/spec/instagram/api_spec.rb +259 -0
  80. data/spec/instagram/client/comments_spec.rb +67 -0
  81. data/spec/instagram/client/embedding_spec.rb +36 -0
  82. data/spec/instagram/client/geography_spec.rb +34 -0
  83. data/spec/instagram/client/likes_spec.rb +62 -0
  84. data/spec/instagram/client/locations_spec.rb +121 -0
  85. data/spec/instagram/client/media_spec.rb +95 -0
  86. data/spec/instagram/client/subscriptions_spec.rb +162 -0
  87. data/spec/instagram/client/tags_spec.rb +75 -0
  88. data/spec/instagram/client/users_spec.rb +407 -0
  89. data/spec/instagram/client/utils_spec.rb +31 -0
  90. data/spec/instagram/client_spec.rb +23 -0
  91. data/spec/instagram/request_spec.rb +56 -0
  92. data/spec/instagram_spec.rb +105 -0
  93. data/spec/spec_helper.rb +66 -0
  94. metadata +293 -0
@@ -0,0 +1,31 @@
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", client_ips: "1.2.3.4", access_token: "AT")
8
+ end
9
+
10
+ describe ".utils_raw_response" do
11
+ before do
12
+ stub_get("users/self/feed.#{format}")
13
+ .with(query: { access_token: @client.access_token })
14
+ .to_return(body: fixture("user_media_feed.#{format}"), headers: { content_type: "application/#{format}; charset=utf-8" })
15
+ end
16
+
17
+ before(:each) do
18
+ @response = @client.utils_raw_response
19
+ end
20
+
21
+ it "return raw data" do
22
+ expect(@response).to be_instance_of(Faraday::Response)
23
+ end
24
+
25
+ it "response content headers" do
26
+ expect(@response).to be_respond_to(:headers)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ require File.expand_path("../../spec_helper", __FILE__)
2
+
3
+ describe Instagram::Client do
4
+ it "should connect using the endpoint configuration" do
5
+ client = Instagram::Client.new
6
+ endpoint = URI.parse(client.endpoint)
7
+ connection = client.send(:connection).build_url(nil).to_s
8
+ expect(connection).to eq(endpoint.to_s)
9
+ end
10
+
11
+ it "should not cache the user account across clients" do
12
+ stub_get("users/self.json")
13
+ .with(query: { access_token: "at1" })
14
+ .to_return(body: fixture("shayne.json"), headers: { content_type: "application/json; charset=utf-8" })
15
+ client1 = Instagram::Client.new(access_token: "at1")
16
+ expect(client1.send(:get_username)).to eq("shayne")
17
+ stub_get("users/self.json")
18
+ .with(query: { access_token: "at2" })
19
+ .to_return(body: fixture("mikeyk.json"), headers: { content_type: "application/json; charset=utf-8" })
20
+ client2 = Instagram::Client.new(access_token: "at2")
21
+ expect(client2.send(:get_username)).to eq("mikeyk")
22
+ end
23
+ end
@@ -0,0 +1,56 @@
1
+ require File.expand_path("../../spec_helper", __FILE__)
2
+
3
+ describe Instagram::Request do
4
+ describe "#post" do
5
+ before do
6
+ @ips = "1.2.3.4"
7
+ @secret = "CS"
8
+ digest = OpenSSL::Digest.new("sha256")
9
+ signature = OpenSSL::HMAC.hexdigest(digest, @secret, @ips)
10
+ @signed_header = [@ips, signature].join("|")
11
+ end
12
+
13
+ context "with signature=true" do
14
+ it "should set X-Insta-Forwarded-For header" do
15
+ client = Instagram::Client.new(client_id: "CID", client_secret: @secret, client_ips: @ips, access_token: "AT")
16
+ url = client.send(:connection).build_url("/media/123/likes.json").to_s
17
+ stub_request(:post, url)
18
+ .with(body: { "access_token" => "AT" })
19
+ .to_return(status: 200, body: "", headers: {})
20
+
21
+ client.post("/media/123/likes", {}, signature = true)
22
+ expect(a_request(:post, url)
23
+ .with(headers: { "X-Insta-Forwarded-For" => @signed_header }))
24
+ .to have_been_made
25
+ end
26
+
27
+ it "should not set X-Insta-Fowarded-For header if client_ips is not provided" do
28
+ client = Instagram::Client.new(client_id: "CID", client_secret: @secret, access_token: "AT")
29
+ url = client.send(:connection).build_url("/media/123/likes.json").to_s
30
+ stub_request(:post, url)
31
+ .with(body: { "access_token" => "AT" })
32
+ .to_return(status: 200, body: "", headers: {})
33
+
34
+ client.post("/media/123/likes", {}, signature = true)
35
+ expect(a_request(:post, url)
36
+ .with(headers: { "X-Insta-Forwarded-For" => @signed_header }))
37
+ .not_to have_been_made
38
+ end
39
+ end
40
+
41
+ context "with signature=false" do
42
+ it "should set X-Insta-Forwarded-For header" do
43
+ client = Instagram::Client.new(client_id: "CID", client_secret: @secret, client_ips: @ips, access_token: "AT")
44
+ url = client.send(:connection).build_url("/media/123/likes.json").to_s
45
+ stub_request(:post, url)
46
+ .with(body: { "access_token" => "AT" })
47
+ .to_return(status: 200, body: "", headers: {})
48
+
49
+ client.post("/media/123/likes", {}, signature = false)
50
+ expect(a_request(:post, url)
51
+ .with(headers: { "X-Insta-Forwarded-For" => @signed_header }))
52
+ .not_to have_been_made
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,105 @@
1
+ require File.expand_path("../spec_helper", __FILE__)
2
+
3
+ describe Instagram do
4
+ after do
5
+ Instagram.reset
6
+ end
7
+
8
+ context "when delegating to a client" do
9
+ before do
10
+ stub_get("users/self/feed.json")
11
+ .to_return(body: fixture("user_media_feed.json"), headers: { content_type: "application/json; charset=utf-8" })
12
+ end
13
+
14
+ it "should get the correct resource" do
15
+ Instagram.user_media_feed
16
+ expect(a_get("users/self/feed.json")).to have_been_made
17
+ end
18
+
19
+ it "should return the same results as a client" do
20
+ expect(Instagram.user_media_feed).to eq(Instagram::Client.new.user_media_feed)
21
+ end
22
+ end
23
+
24
+ describe ".client" do
25
+ it "should be a Instagram::Client" do
26
+ expect(Instagram.client).to be_a Instagram::Client
27
+ end
28
+ end
29
+
30
+ describe ".adapter" do
31
+ it "should return the default adapter" do
32
+ expect(Instagram.adapter).to eq(Instagram::Configuration::DEFAULT_ADAPTER)
33
+ end
34
+ end
35
+
36
+ describe ".adapter=" do
37
+ it "should set the adapter" do
38
+ Instagram.adapter = :typhoeus
39
+ expect(Instagram.adapter).to eq(:typhoeus)
40
+ end
41
+ end
42
+
43
+ describe ".endpoint" do
44
+ it "should return the default endpoint" do
45
+ expect(Instagram.endpoint).to eq(Instagram::Configuration::DEFAULT_ENDPOINT)
46
+ end
47
+ end
48
+
49
+ describe ".endpoint=" do
50
+ it "should set the endpoint" do
51
+ Instagram.endpoint = "http://tumblr.com"
52
+ expect(Instagram.endpoint).to eq("http://tumblr.com")
53
+ end
54
+ end
55
+
56
+ describe ".format" do
57
+ it "should return the default format" do
58
+ expect(Instagram.format).to eq(Instagram::Configuration::DEFAULT_FORMAT)
59
+ end
60
+ end
61
+
62
+ describe ".format=" do
63
+ it "should set the format" do
64
+ Instagram.format = "xml"
65
+ expect(Instagram.format).to eq("xml")
66
+ end
67
+ end
68
+
69
+ describe ".user_agent" do
70
+ it "should return the default user agent" do
71
+ expect(Instagram.user_agent).to eq(Instagram::Configuration::DEFAULT_USER_AGENT)
72
+ end
73
+ end
74
+
75
+ describe ".user_agent=" do
76
+ it "should set the user_agent" do
77
+ Instagram.user_agent = "Custom User Agent"
78
+ expect(Instagram.user_agent).to eq("Custom User Agent")
79
+ end
80
+ end
81
+
82
+ describe ".loud_logger" do
83
+ it "should return the loud_logger status" do
84
+ expect(Instagram.loud_logger).to eq(nil)
85
+ end
86
+ end
87
+
88
+ describe ".loud_logger=" do
89
+ it "should set the loud_logger" do
90
+ Instagram.loud_logger = true
91
+ expect(Instagram.loud_logger).to eq(true)
92
+ end
93
+ end
94
+
95
+ describe ".configure" do
96
+ Instagram::Configuration::VALID_OPTIONS_KEYS.each do |key|
97
+ it "should set the #{key}" do
98
+ Instagram.configure do |config|
99
+ config.send("#{key}=", key)
100
+ expect(Instagram.send(key)).to eq(key)
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,66 @@
1
+ require "simplecov"
2
+ require File.expand_path("../../lib/instagram", __FILE__)
3
+ require "rspec"
4
+ require "webmock/rspec"
5
+
6
+ RSpec.configure do |config|
7
+ config.include WebMock::API
8
+ end
9
+
10
+ SimpleCov.start do
11
+ add_group "Instagram", "lib/instagram"
12
+ add_group "Faraday Middleware", "lib/faraday"
13
+ add_group "Specs", "spec"
14
+ end
15
+
16
+ def capture_output
17
+ begin
18
+ old_stdout = $stdout
19
+ $stdout = StringIO.new
20
+ yield
21
+ result = $stdout.string
22
+ ensure
23
+ $stdout = old_stdout
24
+ end
25
+ result
26
+ end
27
+
28
+ def a_delete(path)
29
+ a_request(:delete, Instagram.endpoint + path)
30
+ end
31
+
32
+ def a_get(path)
33
+ a_request(:get, Instagram.endpoint + path)
34
+ end
35
+
36
+ def a_post(path)
37
+ a_request(:post, Instagram.endpoint + path)
38
+ end
39
+
40
+ def a_put(path)
41
+ a_request(:put, Instagram.endpoint + path)
42
+ end
43
+
44
+ def stub_delete(path)
45
+ stub_request(:delete, Instagram.endpoint + path)
46
+ end
47
+
48
+ def stub_get(path)
49
+ stub_request(:get, Instagram.endpoint + path)
50
+ end
51
+
52
+ def stub_post(path)
53
+ stub_request(:post, Instagram.endpoint + path)
54
+ end
55
+
56
+ def stub_put(path)
57
+ stub_request(:put, Instagram.endpoint + path)
58
+ end
59
+
60
+ def fixture_path
61
+ File.expand_path("../fixtures", __FILE__)
62
+ end
63
+
64
+ def fixture(file)
65
+ File.new(fixture_path + "/" + file)
66
+ end
metadata ADDED
@@ -0,0 +1,293 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: instagram-continued-continued
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.5.0
5
+ platform: ruby
6
+ authors:
7
+ - Shayne Sweeney
8
+ - Nat Welch
9
+ - Esther Lozano
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2019-12-19 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bluecloth
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '2.2'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '2.2'
29
+ - !ruby/object:Gem::Dependency
30
+ name: rake
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '11.2'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '11.2'
43
+ - !ruby/object:Gem::Dependency
44
+ name: rspec
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '3.4'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '3.4'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rubocop
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: simplecov
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: webmock
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '1.22'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: '1.22'
99
+ - !ruby/object:Gem::Dependency
100
+ name: yard
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: '0.9'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: '0.9'
113
+ - !ruby/object:Gem::Dependency
114
+ name: faraday
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '0.12'
120
+ type: :runtime
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '0.12'
127
+ - !ruby/object:Gem::Dependency
128
+ name: faraday_middleware
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ - !ruby/object:Gem::Dependency
142
+ name: multi_json
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ type: :runtime
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
+ - !ruby/object:Gem::Dependency
156
+ name: hashie
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: 3.5.1
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 3.5.1
169
+ description: A Ruby wrapper for the Instagram REST and Search APIs
170
+ email:
171
+ - shayne@instagr.am
172
+ - nat@natwelch.com
173
+ - elozano@carto.com
174
+ executables: []
175
+ extensions: []
176
+ extra_rdoc_files: []
177
+ files:
178
+ - ".gitignore"
179
+ - ".hound.yml"
180
+ - ".rspec"
181
+ - ".rubocop.yml"
182
+ - ".travis.yml"
183
+ - ".yardopts"
184
+ - Gemfile
185
+ - LICENSE.md
186
+ - PATENTS.md
187
+ - README.md
188
+ - Rakefile
189
+ - instagram-continued-continued.gemspec
190
+ - lib/faraday/loud_logger.rb
191
+ - lib/faraday/oauth2.rb
192
+ - lib/faraday/raise_http_exception.rb
193
+ - lib/instagram.rb
194
+ - lib/instagram/api.rb
195
+ - lib/instagram/client.rb
196
+ - lib/instagram/client/comments.rb
197
+ - lib/instagram/client/embedding.rb
198
+ - lib/instagram/client/geographies.rb
199
+ - lib/instagram/client/likes.rb
200
+ - lib/instagram/client/locations.rb
201
+ - lib/instagram/client/media.rb
202
+ - lib/instagram/client/subscriptions.rb
203
+ - lib/instagram/client/tags.rb
204
+ - lib/instagram/client/users.rb
205
+ - lib/instagram/client/utils.rb
206
+ - lib/instagram/configuration.rb
207
+ - lib/instagram/connection.rb
208
+ - lib/instagram/error.rb
209
+ - lib/instagram/hashie_wrapper.rb
210
+ - lib/instagram/oauth.rb
211
+ - lib/instagram/request.rb
212
+ - lib/instagram/response.rb
213
+ - lib/instagram/version.rb
214
+ - spec/faraday/response_spec.rb
215
+ - spec/fixtures/access_token.json
216
+ - spec/fixtures/approve_user.json
217
+ - spec/fixtures/block_user.json
218
+ - spec/fixtures/deny_user.json
219
+ - spec/fixtures/follow_user.json
220
+ - spec/fixtures/followed_by.json
221
+ - spec/fixtures/follows.json
222
+ - spec/fixtures/geography_recent_media.json
223
+ - spec/fixtures/liked_media.json
224
+ - spec/fixtures/location.json
225
+ - spec/fixtures/location_recent_media.json
226
+ - spec/fixtures/location_search.json
227
+ - spec/fixtures/location_search_facebook.json
228
+ - spec/fixtures/media.json
229
+ - spec/fixtures/media_comment.json
230
+ - spec/fixtures/media_comment_deleted.json
231
+ - spec/fixtures/media_comments.json
232
+ - spec/fixtures/media_liked.json
233
+ - spec/fixtures/media_likes.json
234
+ - spec/fixtures/media_popular.json
235
+ - spec/fixtures/media_search.json
236
+ - spec/fixtures/media_shortcode.json
237
+ - spec/fixtures/media_unliked.json
238
+ - spec/fixtures/mikeyk.json
239
+ - spec/fixtures/oembed.json
240
+ - spec/fixtures/recent_media.json
241
+ - spec/fixtures/relationship.json
242
+ - spec/fixtures/requested_by.json
243
+ - spec/fixtures/shayne.json
244
+ - spec/fixtures/subscription.json
245
+ - spec/fixtures/subscription_deleted.json
246
+ - spec/fixtures/subscription_payload.json
247
+ - spec/fixtures/subscriptions.json
248
+ - spec/fixtures/tag.json
249
+ - spec/fixtures/tag_recent_media.json
250
+ - spec/fixtures/tag_search.json
251
+ - spec/fixtures/unblock_user.json
252
+ - spec/fixtures/unfollow_user.json
253
+ - spec/fixtures/user_media_feed.json
254
+ - spec/fixtures/user_search.json
255
+ - spec/instagram/api_spec.rb
256
+ - spec/instagram/client/comments_spec.rb
257
+ - spec/instagram/client/embedding_spec.rb
258
+ - spec/instagram/client/geography_spec.rb
259
+ - spec/instagram/client/likes_spec.rb
260
+ - spec/instagram/client/locations_spec.rb
261
+ - spec/instagram/client/media_spec.rb
262
+ - spec/instagram/client/subscriptions_spec.rb
263
+ - spec/instagram/client/tags_spec.rb
264
+ - spec/instagram/client/users_spec.rb
265
+ - spec/instagram/client/utils_spec.rb
266
+ - spec/instagram/client_spec.rb
267
+ - spec/instagram/request_spec.rb
268
+ - spec/instagram_spec.rb
269
+ - spec/spec_helper.rb
270
+ homepage: https://github.com/esloho/instagram-continued-continued
271
+ licenses: []
272
+ metadata: {}
273
+ post_install_message:
274
+ rdoc_options: []
275
+ require_paths:
276
+ - lib
277
+ required_ruby_version: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - ">="
280
+ - !ruby/object:Gem::Version
281
+ version: 2.0.0
282
+ required_rubygems_version: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ version: 1.3.6
287
+ requirements: []
288
+ rubyforge_project: instagram-continued-continued
289
+ rubygems_version: 2.7.6.2
290
+ signing_key:
291
+ specification_version: 4
292
+ summary: Ruby wrapper for the Instagram API
293
+ test_files: []