instagram-continued-continued 1.5.0

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.
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: []