extendi-instagram 2.0.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 (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