groupme-api 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/groupme/image_client.rb +23 -0
- data/lib/groupme/version.rb +1 -1
- data/lib/groupme.rb +1 -0
- data/spec/groupme/group_spec.rb +1 -3
- data/spec/groupme/image_client_spec.rb +16 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1648018d16b02811eb7784f5991ebe35e39f7d15
|
4
|
+
data.tar.gz: 60300f9a257451b624ce2595831c3876133eae3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a45fc143af1b07948d439808258633460c0d8e62b044284c2ac35ba9f4ec7b57f3dfb04a8f9ee719b2b31adad72f8b7589bcb8dfdf82800b6c5b94cc67bece83
|
7
|
+
data.tar.gz: 8dd9aa132200252fa349080e0b5430e783d4226e452009263cd37aff606f3cedf5c0c447bd7fb72539ed69b40bcc19e36ba589b03203fc03ebf29f9580d64e40
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GroupMe
|
4
|
+
class ImageClient
|
5
|
+
API_BASE_URL = 'https://image.groupme.com/'
|
6
|
+
|
7
|
+
attr_accessor :access_token
|
8
|
+
|
9
|
+
def initialize(args = {})
|
10
|
+
@access_token = args[:access_token] || GroupMe.configuration.access_token
|
11
|
+
@client = HTTPClient.new(base_url: API_BASE_URL, default_header: { 'X-Access-Token': @access_token, 'Content-Type': 'image/jpeg' })
|
12
|
+
end
|
13
|
+
|
14
|
+
def upload(body = {})
|
15
|
+
response = @client.post('pictures', body&.to_json)\
|
16
|
+
|
17
|
+
return response.reason unless response.ok?
|
18
|
+
|
19
|
+
image = JSON.parse(response.body, symbolize_names: true)
|
20
|
+
image[:payload][:url]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/groupme/version.rb
CHANGED
data/lib/groupme.rb
CHANGED
data/spec/groupme/group_spec.rb
CHANGED
@@ -3,13 +3,11 @@
|
|
3
3
|
RSpec.describe GroupMe::Group do
|
4
4
|
include_context :with_default_groupme_configuration
|
5
5
|
|
6
|
-
let(:base_url) { GroupMe::Client::API_BASE_URL }
|
7
|
-
|
8
6
|
describe '#all' do
|
9
7
|
it 'should send the correct HTTP request' do
|
10
8
|
_groups = GroupMe::Group.all
|
11
9
|
|
12
|
-
expect(WebMock).to have_requested(:get,
|
10
|
+
expect(WebMock).to have_requested(:get, 'https://api.groupme.com/v3/groups').with(query: { token: access_token, omit: :memberships, per_page: GroupMe.configuration.groups_per_page })
|
13
11
|
end
|
14
12
|
end
|
15
13
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe GroupMe::ImageClient do
|
4
|
+
include_context :with_default_groupme_configuration
|
5
|
+
|
6
|
+
let(:image_blob) { '\x89PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\b\x03\x00\x00\x00(\xCB4\xBB\x00\x00\x00\x03PLTE\xDD.DX\x9D\x17\x1C\x00\x00\x00\x01tRNS\xD8\xC8\xEE\x82\x80\x00\x00\x00\nIDATx\x01c`\x00\x00\x00\x02\x00\x01su\x01\x18\x00\x00\x00\x00IEND\xAEB`\x82' }
|
7
|
+
|
8
|
+
describe '#new' do
|
9
|
+
it 'should send the correct HTTP request' do
|
10
|
+
_image_client = GroupMe::ImageClient.new
|
11
|
+
_image_client.upload(image_blob)
|
12
|
+
|
13
|
+
expect(WebMock).to have_requested(:post, 'https://image.groupme.com/pictures').with(body: image_blob.to_json)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: groupme-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kinnell Shah
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpclient
|
@@ -160,11 +160,13 @@ files:
|
|
160
160
|
- lib/groupme/configuration.rb
|
161
161
|
- lib/groupme/errors.rb
|
162
162
|
- lib/groupme/group.rb
|
163
|
+
- lib/groupme/image_client.rb
|
163
164
|
- lib/groupme/version.rb
|
164
165
|
- lib/groupme_api.rb
|
165
166
|
- spec/groupme/client_spec.rb
|
166
167
|
- spec/groupme/configuration_spec.rb
|
167
168
|
- spec/groupme/group_spec.rb
|
169
|
+
- spec/groupme/image_client_spec.rb
|
168
170
|
- spec/groupme_spec.rb
|
169
171
|
- spec/spec_helper.rb
|
170
172
|
- spec/support/groupme.rb
|