extendi-instagram 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +6 -0
  5. data/.yardopts +9 -0
  6. data/Gemfile +3 -0
  7. data/LICENSE.md +30 -0
  8. data/PATENTS.md +23 -0
  9. data/README.md +260 -0
  10. data/Rakefile +27 -0
  11. data/instagram.gemspec +50 -0
  12. data/lib/faraday/loud_logger.rb +78 -0
  13. data/lib/faraday/oauth2.rb +45 -0
  14. data/lib/faraday/raise_http_exception.rb +73 -0
  15. data/lib/instagram/api.rb +31 -0
  16. data/lib/instagram/client/comments.rb +62 -0
  17. data/lib/instagram/client/embedding.rb +28 -0
  18. data/lib/instagram/client/geographies.rb +29 -0
  19. data/lib/instagram/client/likes.rb +58 -0
  20. data/lib/instagram/client/locations.rb +75 -0
  21. data/lib/instagram/client/media.rb +82 -0
  22. data/lib/instagram/client/subscriptions.rb +211 -0
  23. data/lib/instagram/client/tags.rb +59 -0
  24. data/lib/instagram/client/users.rb +310 -0
  25. data/lib/instagram/client/utils.rb +28 -0
  26. data/lib/instagram/client.rb +21 -0
  27. data/lib/instagram/configuration.rb +125 -0
  28. data/lib/instagram/connection.rb +31 -0
  29. data/lib/instagram/error.rb +34 -0
  30. data/lib/instagram/oauth.rb +36 -0
  31. data/lib/instagram/request.rb +83 -0
  32. data/lib/instagram/response.rb +22 -0
  33. data/lib/instagram/version.rb +3 -0
  34. data/lib/instagram.rb +27 -0
  35. data/spec/faraday/response_spec.rb +101 -0
  36. data/spec/fixtures/access_token.json +9 -0
  37. data/spec/fixtures/approve_user.json +8 -0
  38. data/spec/fixtures/block_user.json +8 -0
  39. data/spec/fixtures/deny_user.json +8 -0
  40. data/spec/fixtures/follow_user.json +8 -0
  41. data/spec/fixtures/followed_by.json +1 -0
  42. data/spec/fixtures/follows.json +1 -0
  43. data/spec/fixtures/geography_recent_media.json +1 -0
  44. data/spec/fixtures/liked_media.json +1 -0
  45. data/spec/fixtures/location.json +1 -0
  46. data/spec/fixtures/location_recent_media.json +1 -0
  47. data/spec/fixtures/location_search.json +1 -0
  48. data/spec/fixtures/location_search_facebook.json +1 -0
  49. data/spec/fixtures/media.json +1 -0
  50. data/spec/fixtures/media_comment.json +1 -0
  51. data/spec/fixtures/media_comment_deleted.json +1 -0
  52. data/spec/fixtures/media_comments.json +1 -0
  53. data/spec/fixtures/media_liked.json +1 -0
  54. data/spec/fixtures/media_likes.json +1 -0
  55. data/spec/fixtures/media_popular.json +1 -0
  56. data/spec/fixtures/media_search.json +1 -0
  57. data/spec/fixtures/media_shortcode.json +1 -0
  58. data/spec/fixtures/media_unliked.json +1 -0
  59. data/spec/fixtures/mikeyk.json +1 -0
  60. data/spec/fixtures/oembed.json +14 -0
  61. data/spec/fixtures/recent_media.json +1 -0
  62. data/spec/fixtures/relationship.json +9 -0
  63. data/spec/fixtures/requested_by.json +12 -0
  64. data/spec/fixtures/shayne.json +1 -0
  65. data/spec/fixtures/subscription.json +12 -0
  66. data/spec/fixtures/subscription_deleted.json +1 -0
  67. data/spec/fixtures/subscription_payload.json +14 -0
  68. data/spec/fixtures/subscriptions.json +22 -0
  69. data/spec/fixtures/tag.json +1 -0
  70. data/spec/fixtures/tag_recent_media.json +1 -0
  71. data/spec/fixtures/tag_search.json +1 -0
  72. data/spec/fixtures/unblock_user.json +8 -0
  73. data/spec/fixtures/unfollow_user.json +8 -0
  74. data/spec/fixtures/user_media_feed.json +1 -0
  75. data/spec/fixtures/user_search.json +1 -0
  76. data/spec/instagram/api_spec.rb +285 -0
  77. data/spec/instagram/client/comments_spec.rb +71 -0
  78. data/spec/instagram/client/embedding_spec.rb +36 -0
  79. data/spec/instagram/client/geography_spec.rb +37 -0
  80. data/spec/instagram/client/likes_spec.rb +66 -0
  81. data/spec/instagram/client/locations_spec.rb +127 -0
  82. data/spec/instagram/client/media_spec.rb +99 -0
  83. data/spec/instagram/client/subscriptions_spec.rb +174 -0
  84. data/spec/instagram/client/tags_spec.rb +79 -0
  85. data/spec/instagram/client/users_spec.rb +432 -0
  86. data/spec/instagram/client/utils_spec.rb +32 -0
  87. data/spec/instagram/client_spec.rb +23 -0
  88. data/spec/instagram/request_spec.rb +56 -0
  89. data/spec/instagram_spec.rb +109 -0
  90. data/spec/spec_helper.rb +71 -0
  91. metadata +322 -0
@@ -0,0 +1,32 @@
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', :client_secret => 'CS', :client_ips => '1.2.3.4', :access_token => 'AT')
9
+ end
10
+
11
+ describe '.utils_raw_response' do
12
+ before do
13
+ stub_get("users/self/feed.#{format}").
14
+ with(:query => {:access_token => @client.access_token}).
15
+ to_return(:body => fixture("user_media_feed.#{format}"), :headers => {:content_type => "application/#{format}; charset=utf-8"})
16
+ end
17
+
18
+ before(:each) do
19
+ @response = @client.utils_raw_response
20
+ end
21
+
22
+ it 'return raw data' do
23
+ expect(@response).to be_instance_of(Faraday::Response)
24
+ end
25
+
26
+ it 'response content headers' do
27
+ expect(@response).to be_respond_to(:headers)
28
+ end
29
+ end
30
+ end
31
+ end
32
+ 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,109 @@
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
+
10
+ before do
11
+ stub_get("users/self/feed.json").
12
+ to_return(:body => fixture("user_media_feed.json"), :headers => {:content_type => "application/json; charset=utf-8"})
13
+ end
14
+
15
+ it "should get the correct resource" do
16
+ Instagram.user_media_feed()
17
+ expect(a_get("users/self/feed.json")).to have_been_made
18
+ end
19
+
20
+ it "should return the same results as a client" do
21
+ expect(Instagram.user_media_feed()).to eq(Instagram::Client.new.user_media_feed())
22
+ end
23
+
24
+ end
25
+
26
+ describe ".client" do
27
+ it "should be a Instagram::Client" do
28
+ expect(Instagram.client).to be_a Instagram::Client
29
+ end
30
+ end
31
+
32
+ describe ".adapter" do
33
+ it "should return the default adapter" do
34
+ expect(Instagram.adapter).to eq(Instagram::Configuration::DEFAULT_ADAPTER)
35
+ end
36
+ end
37
+
38
+ describe ".adapter=" do
39
+ it "should set the adapter" do
40
+ Instagram.adapter = :typhoeus
41
+ expect(Instagram.adapter).to eq(:typhoeus)
42
+ end
43
+ end
44
+
45
+ describe ".endpoint" do
46
+ it "should return the default endpoint" do
47
+ expect(Instagram.endpoint).to eq(Instagram::Configuration::DEFAULT_ENDPOINT)
48
+ end
49
+ end
50
+
51
+ describe ".endpoint=" do
52
+ it "should set the endpoint" do
53
+ Instagram.endpoint = 'http://tumblr.com'
54
+ expect(Instagram.endpoint).to eq('http://tumblr.com')
55
+ end
56
+ end
57
+
58
+ describe ".format" do
59
+ it "should return the default format" do
60
+ expect(Instagram.format).to eq(Instagram::Configuration::DEFAULT_FORMAT)
61
+ end
62
+ end
63
+
64
+ describe ".format=" do
65
+ it "should set the format" do
66
+ Instagram.format = 'xml'
67
+ expect(Instagram.format).to eq('xml')
68
+ end
69
+ end
70
+
71
+ describe ".user_agent" do
72
+ it "should return the default user agent" do
73
+ expect(Instagram.user_agent).to eq(Instagram::Configuration::DEFAULT_USER_AGENT)
74
+ end
75
+ end
76
+
77
+ describe ".user_agent=" do
78
+ it "should set the user_agent" do
79
+ Instagram.user_agent = 'Custom User Agent'
80
+ expect(Instagram.user_agent).to eq('Custom User Agent')
81
+ end
82
+ end
83
+
84
+ describe ".loud_logger" do
85
+ it "should return the loud_logger status" do
86
+ expect(Instagram.loud_logger).to eq(nil)
87
+ end
88
+ end
89
+
90
+ describe ".loud_logger=" do
91
+ it "should set the loud_logger" do
92
+ Instagram.loud_logger = true
93
+ expect(Instagram.loud_logger).to eq(true)
94
+ end
95
+ end
96
+
97
+ describe ".configure" do
98
+
99
+ Instagram::Configuration::VALID_OPTIONS_KEYS.each do |key|
100
+
101
+ it "should set the #{key}" do
102
+ Instagram.configure do |config|
103
+ config.send("#{key}=", key)
104
+ expect(Instagram.send(key)).to eq(key)
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,71 @@
1
+ begin
2
+ require 'simplecov'
3
+ rescue LoadError
4
+ # ignore
5
+ else
6
+ SimpleCov.start do
7
+ add_group 'Instagram', 'lib/instagram'
8
+ add_group 'Faraday Middleware', 'lib/faraday'
9
+ add_group 'Specs', 'spec'
10
+ end
11
+ end
12
+
13
+ require File.expand_path('../../lib/instagram', __FILE__)
14
+
15
+ require 'rspec'
16
+ require 'webmock/rspec'
17
+ RSpec.configure do |config|
18
+ config.include WebMock::API
19
+ end
20
+
21
+ def capture_output(&block)
22
+ begin
23
+ old_stdout = $stdout
24
+ $stdout = StringIO.new
25
+ block.call
26
+ result = $stdout.string
27
+ ensure
28
+ $stdout = old_stdout
29
+ end
30
+ result
31
+ end
32
+
33
+ def a_delete(path)
34
+ a_request(:delete, Instagram.endpoint + path)
35
+ end
36
+
37
+ def a_get(path)
38
+ a_request(:get, Instagram.endpoint + path)
39
+ end
40
+
41
+ def a_post(path)
42
+ a_request(:post, Instagram.endpoint + path)
43
+ end
44
+
45
+ def a_put(path)
46
+ a_request(:put, Instagram.endpoint + path)
47
+ end
48
+
49
+ def stub_delete(path)
50
+ stub_request(:delete, Instagram.endpoint + path)
51
+ end
52
+
53
+ def stub_get(path)
54
+ stub_request(:get, Instagram.endpoint + path)
55
+ end
56
+
57
+ def stub_post(path)
58
+ stub_request(:post, Instagram.endpoint + path)
59
+ end
60
+
61
+ def stub_put(path)
62
+ stub_request(:put, Instagram.endpoint + path)
63
+ end
64
+
65
+ def fixture_path
66
+ File.expand_path("../fixtures", __FILE__)
67
+ end
68
+
69
+ def fixture(file)
70
+ File.new(fixture_path + '/' + file)
71
+ end
metadata ADDED
@@ -0,0 +1,322 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: extendi-instagram
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Shayne Sweeney
8
+ - extendi
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2017-03-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 10.5.0
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 10.5.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: rspec
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 3.4.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 3.4.0
42
+ - !ruby/object:Gem::Dependency
43
+ name: webmock
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 1.22.6
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 1.22.6
56
+ - !ruby/object:Gem::Dependency
57
+ name: bluecloth
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: 2.2.0
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 2.2.0
70
+ - !ruby/object:Gem::Dependency
71
+ name: faraday
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '0.9'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '0.9'
84
+ - !ruby/object:Gem::Dependency
85
+ name: faraday_middleware
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '0.10'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '0.10'
98
+ - !ruby/object:Gem::Dependency
99
+ name: multi_json
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '1.11'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '1.11'
112
+ - !ruby/object:Gem::Dependency
113
+ name: hashie
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '3.0'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '3.0'
126
+ description: A Ruby wrapper for the Instagram REST and Search APIs
127
+ email:
128
+ - info@extendi.it
129
+ executables: []
130
+ extensions: []
131
+ extra_rdoc_files: []
132
+ files:
133
+ - ".gitignore"
134
+ - ".rspec"
135
+ - ".travis.yml"
136
+ - ".yardopts"
137
+ - Gemfile
138
+ - LICENSE.md
139
+ - PATENTS.md
140
+ - README.md
141
+ - Rakefile
142
+ - instagram.gemspec
143
+ - lib/faraday/loud_logger.rb
144
+ - lib/faraday/oauth2.rb
145
+ - lib/faraday/raise_http_exception.rb
146
+ - lib/instagram.rb
147
+ - lib/instagram/api.rb
148
+ - lib/instagram/client.rb
149
+ - lib/instagram/client/comments.rb
150
+ - lib/instagram/client/embedding.rb
151
+ - lib/instagram/client/geographies.rb
152
+ - lib/instagram/client/likes.rb
153
+ - lib/instagram/client/locations.rb
154
+ - lib/instagram/client/media.rb
155
+ - lib/instagram/client/subscriptions.rb
156
+ - lib/instagram/client/tags.rb
157
+ - lib/instagram/client/users.rb
158
+ - lib/instagram/client/utils.rb
159
+ - lib/instagram/configuration.rb
160
+ - lib/instagram/connection.rb
161
+ - lib/instagram/error.rb
162
+ - lib/instagram/oauth.rb
163
+ - lib/instagram/request.rb
164
+ - lib/instagram/response.rb
165
+ - lib/instagram/version.rb
166
+ - spec/faraday/response_spec.rb
167
+ - spec/fixtures/access_token.json
168
+ - spec/fixtures/approve_user.json
169
+ - spec/fixtures/block_user.json
170
+ - spec/fixtures/deny_user.json
171
+ - spec/fixtures/follow_user.json
172
+ - spec/fixtures/followed_by.json
173
+ - spec/fixtures/follows.json
174
+ - spec/fixtures/geography_recent_media.json
175
+ - spec/fixtures/liked_media.json
176
+ - spec/fixtures/location.json
177
+ - spec/fixtures/location_recent_media.json
178
+ - spec/fixtures/location_search.json
179
+ - spec/fixtures/location_search_facebook.json
180
+ - spec/fixtures/media.json
181
+ - spec/fixtures/media_comment.json
182
+ - spec/fixtures/media_comment_deleted.json
183
+ - spec/fixtures/media_comments.json
184
+ - spec/fixtures/media_liked.json
185
+ - spec/fixtures/media_likes.json
186
+ - spec/fixtures/media_popular.json
187
+ - spec/fixtures/media_search.json
188
+ - spec/fixtures/media_shortcode.json
189
+ - spec/fixtures/media_unliked.json
190
+ - spec/fixtures/mikeyk.json
191
+ - spec/fixtures/oembed.json
192
+ - spec/fixtures/recent_media.json
193
+ - spec/fixtures/relationship.json
194
+ - spec/fixtures/requested_by.json
195
+ - spec/fixtures/shayne.json
196
+ - spec/fixtures/subscription.json
197
+ - spec/fixtures/subscription_deleted.json
198
+ - spec/fixtures/subscription_payload.json
199
+ - spec/fixtures/subscriptions.json
200
+ - spec/fixtures/tag.json
201
+ - spec/fixtures/tag_recent_media.json
202
+ - spec/fixtures/tag_search.json
203
+ - spec/fixtures/unblock_user.json
204
+ - spec/fixtures/unfollow_user.json
205
+ - spec/fixtures/user_media_feed.json
206
+ - spec/fixtures/user_search.json
207
+ - spec/instagram/api_spec.rb
208
+ - spec/instagram/client/comments_spec.rb
209
+ - spec/instagram/client/embedding_spec.rb
210
+ - spec/instagram/client/geography_spec.rb
211
+ - spec/instagram/client/likes_spec.rb
212
+ - spec/instagram/client/locations_spec.rb
213
+ - spec/instagram/client/media_spec.rb
214
+ - spec/instagram/client/subscriptions_spec.rb
215
+ - spec/instagram/client/tags_spec.rb
216
+ - spec/instagram/client/users_spec.rb
217
+ - spec/instagram/client/utils_spec.rb
218
+ - spec/instagram/client_spec.rb
219
+ - spec/instagram/request_spec.rb
220
+ - spec/instagram_spec.rb
221
+ - spec/spec_helper.rb
222
+ homepage: https://github.com/Instagram/instagram-ruby-gem
223
+ licenses: []
224
+ metadata: {}
225
+ post_install_message: |
226
+ ********************************************************************************
227
+
228
+ Instagram REST and Search APIs
229
+ ------------------------------
230
+ Our developer site documents all the Instagram REST and Search APIs.
231
+ (http://instagram.com/developer)
232
+
233
+ Blog
234
+ ----------------------------
235
+ The Developer Blog features news and important announcements about the Instagram Platform.
236
+ You will also find tutorials and best practices to help you build great platform integrations.
237
+ Make sure to subscribe to the RSS feed so you don't miss out on new posts:
238
+ (http://developers.instagram.com).
239
+
240
+ Community
241
+ ----------------------
242
+ The Stack Overflow community is a great place to ask API related questions or if you need help with your code.
243
+ Make sure to tag your questions with the Instagram tag to get fast answers from other fellow developers and members of the Instagram team.
244
+ (http://stackoverflow.com/questions/tagged/instagram/)
245
+
246
+ ********************************************************************************
247
+ rdoc_options: []
248
+ require_paths:
249
+ - lib
250
+ required_ruby_version: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: '0'
255
+ required_rubygems_version: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ">="
258
+ - !ruby/object:Gem::Version
259
+ version: 1.3.6
260
+ requirements: []
261
+ rubyforge_project: extendi-instagram
262
+ rubygems_version: 2.5.1
263
+ signing_key:
264
+ specification_version: 4
265
+ summary: Ruby wrapper for the Instagram API
266
+ test_files:
267
+ - spec/faraday/response_spec.rb
268
+ - spec/fixtures/access_token.json
269
+ - spec/fixtures/approve_user.json
270
+ - spec/fixtures/block_user.json
271
+ - spec/fixtures/deny_user.json
272
+ - spec/fixtures/follow_user.json
273
+ - spec/fixtures/followed_by.json
274
+ - spec/fixtures/follows.json
275
+ - spec/fixtures/geography_recent_media.json
276
+ - spec/fixtures/liked_media.json
277
+ - spec/fixtures/location.json
278
+ - spec/fixtures/location_recent_media.json
279
+ - spec/fixtures/location_search.json
280
+ - spec/fixtures/location_search_facebook.json
281
+ - spec/fixtures/media.json
282
+ - spec/fixtures/media_comment.json
283
+ - spec/fixtures/media_comment_deleted.json
284
+ - spec/fixtures/media_comments.json
285
+ - spec/fixtures/media_liked.json
286
+ - spec/fixtures/media_likes.json
287
+ - spec/fixtures/media_popular.json
288
+ - spec/fixtures/media_search.json
289
+ - spec/fixtures/media_shortcode.json
290
+ - spec/fixtures/media_unliked.json
291
+ - spec/fixtures/mikeyk.json
292
+ - spec/fixtures/oembed.json
293
+ - spec/fixtures/recent_media.json
294
+ - spec/fixtures/relationship.json
295
+ - spec/fixtures/requested_by.json
296
+ - spec/fixtures/shayne.json
297
+ - spec/fixtures/subscription.json
298
+ - spec/fixtures/subscription_deleted.json
299
+ - spec/fixtures/subscription_payload.json
300
+ - spec/fixtures/subscriptions.json
301
+ - spec/fixtures/tag.json
302
+ - spec/fixtures/tag_recent_media.json
303
+ - spec/fixtures/tag_search.json
304
+ - spec/fixtures/unblock_user.json
305
+ - spec/fixtures/unfollow_user.json
306
+ - spec/fixtures/user_media_feed.json
307
+ - spec/fixtures/user_search.json
308
+ - spec/instagram/api_spec.rb
309
+ - spec/instagram/client/comments_spec.rb
310
+ - spec/instagram/client/embedding_spec.rb
311
+ - spec/instagram/client/geography_spec.rb
312
+ - spec/instagram/client/likes_spec.rb
313
+ - spec/instagram/client/locations_spec.rb
314
+ - spec/instagram/client/media_spec.rb
315
+ - spec/instagram/client/subscriptions_spec.rb
316
+ - spec/instagram/client/tags_spec.rb
317
+ - spec/instagram/client/users_spec.rb
318
+ - spec/instagram/client/utils_spec.rb
319
+ - spec/instagram/client_spec.rb
320
+ - spec/instagram/request_spec.rb
321
+ - spec/instagram_spec.rb
322
+ - spec/spec_helper.rb