groupme 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MzBmMDc2MGM5MGY2MTQ5NzI3MDE4ZTFhNzI5ZDhjNGJjNGQ4NmE3Mw==
5
+ data.tar.gz: !binary |-
6
+ NjBiZGZhMTEzZmE2ZGZhOGY2MzMzOWE3OTExMThkMmM1Mzk4Y2ZmZQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ MjFmZWUwM2JhODc1ZDBlMDY1ZWJlZTJkYzMxYTA0MzUzMTQ4YzZiMDBlMjI5
10
+ ODQ1MTUyZjAxM2Y5MjgxODI1YzAxNzZjYWQwNDYzOTgzZWM5ZDc3YzljNTAx
11
+ OTQ0MmY2MmRhYjZhODg3NTU1MGIyMDJiNTY3MDMwZGEyNzBmNjM=
12
+ data.tar.gz: !binary |-
13
+ NTRiNzg3MjM5ZTY0ZDhhZTI5ZjgwZWE4MTU1MWJiZTAxY2MwYWRhMGQ5MGQz
14
+ NDE4ZmRkNTc0ZmU3YjE3MGY2MzU4NThjZWU5N2I4M2M0ZDJjYWEzMzNmOTI4
15
+ MGUyYjEzMWM2NmYwZWMxOWQzNmY0ZWFlYWFhZGI5ZGUyZDIwNzQ=
data/.travis.yml CHANGED
@@ -3,4 +3,11 @@ rvm:
3
3
  - 1.9.3
4
4
  - 1.9.2
5
5
  - 1.8.7
6
- - ree
6
+ - 2.0.0
7
+ - ree
8
+ - ruby-head
9
+ - rbx-18mode
10
+ - rbx-19mode
11
+ matrix:
12
+ allow_failures:
13
+ - rvm: ruby-head
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,7 @@
1
+ ## Contributing
2
+
3
+ 1. Fork it
4
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
5
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
6
+ 4. Push to the branch (`git push origin my-new-feature`)
7
+ 5. Create new Pull Request
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # groupme [![Build Status](https://secure.travis-ci.org/dwradcliffe/groupme.png?branch=master)](https://travis-ci.org/dwradcliffe/groupme) [![Dependency Status](https://gemnasium.com/dwradcliffe/groupme.png)](https://gemnasium.com/dwradcliffe/groupme) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/dwradcliffe/groupme)
1
+ # groupme [![Build Status](https://secure.travis-ci.org/dwradcliffe/groupme.png?branch=master)](https://travis-ci.org/dwradcliffe/groupme) [![Dependency Status](https://gemnasium.com/dwradcliffe/groupme.png)](https://gemnasium.com/dwradcliffe/groupme) [![Code Climate](https://codeclimate.com/github/dwradcliffe/groupme.png)](https://codeclimate.com/github/dwradcliffe/groupme) [![Gem Version](https://badge.fury.io/rb/groupme.png)](http://badge.fury.io/rb/groupme)
2
2
 
3
3
  Simple wrapper for the GroupMe v3 API.
4
4
 
@@ -24,11 +24,3 @@ Or install it yourself as:
24
24
  ## Usage
25
25
 
26
26
  TODO: Write usage instructions here
27
-
28
- ## Contributing
29
-
30
- 1. Fork it
31
- 2. Create your feature branch (`git checkout -b my-new-feature`)
32
- 3. Commit your changes (`git commit -am 'Add some feature'`)
33
- 4. Push to the branch (`git push origin my-new-feature`)
34
- 5. Create new Pull Request
data/groupme.gemspec CHANGED
@@ -22,13 +22,13 @@ Gem::Specification.new do |gem|
22
22
  gem.add_development_dependency 'rspec'
23
23
  gem.add_development_dependency 'webmock'
24
24
  gem.add_development_dependency 'yard'
25
- gem.add_development_dependency 'redcarpet'
25
+ gem.add_development_dependency 'redcarpet', '~> 2.0'
26
26
  gem.add_development_dependency 'pry'
27
27
  gem.add_development_dependency 'json', '~> 1.7'
28
28
 
29
29
  gem.add_dependency 'faraday', '~> 0.8'
30
30
  gem.add_dependency 'faraday_middleware', '~> 0.8'
31
- gem.add_dependency 'hashie', '~> 1.2'
31
+ gem.add_dependency 'hashie', '~> 2.0'
32
32
  gem.add_dependency 'multi_json', '~> 1.3'
33
- gem.add_dependency 'simple_oauth', '~> 0.1.6'
33
+ gem.add_dependency 'simple_oauth', '~> 0.2'
34
34
  end
@@ -1,6 +1,9 @@
1
1
  require 'groupme/groups'
2
2
  require 'groupme/members'
3
3
  require 'groupme/bots'
4
+ require 'groupme/messages'
5
+ require 'groupme/users'
6
+ require 'groupme/likes'
4
7
  require 'faraday_middleware'
5
8
 
6
9
  module GroupMe
@@ -14,6 +17,9 @@ module GroupMe
14
17
  include GroupMe::Groups
15
18
  include GroupMe::Members
16
19
  include GroupMe::Bots
20
+ include GroupMe::Messages
21
+ include GroupMe::Users
22
+ include GroupMe::Likes
17
23
 
18
24
  private
19
25
 
@@ -21,13 +27,13 @@ module GroupMe
21
27
  request(:get, path)
22
28
  end
23
29
 
24
- def post(path, data)
30
+ def post(path, data={})
25
31
  request(:post, path, data)
26
32
  end
27
33
 
28
34
  def request(method, path, data={})
29
35
  res = connection.send(method, "v3/#{path}", data)
30
- if res.status == 200
36
+ if res.status == 200 and !res.body.nil?
31
37
  return res.body.response
32
38
  else
33
39
  return res
@@ -40,15 +40,38 @@ module GroupMe
40
40
  # Create a new group.
41
41
  #
42
42
  # @return [Hashie::Mash] Hash representing the group
43
- # @see
43
+ # @see http://dev.groupme.com/docs/v3#groups_create
44
44
  # @param name [String] Name for the new group
45
45
  # @param options [Hash] Group information
46
46
  # @option options [String] :description Description of the group
47
- # @option options [String] :image Base64 JPEG or PNG data
47
+ # @option options [String] :image_url GroupMe Image Service URL
48
+ # @option options [Boolean] :share If you pass a true value, a share URL will be generated
48
49
  def create_group(name, options={})
49
50
  options.merge! :name => name
50
51
  post '/groups', options
51
52
  end
52
53
 
54
+ # Update a group after creation
55
+ #
56
+ # @return [Hashie::Mash] Hash representing the group
57
+ # @see http://dev.groupme.com/docs/v3#groups_update
58
+ # @param name [Integer] Group ID
59
+ # @param data [Hash] Group information
60
+ # @option data [String] :name Name of the group
61
+ # @option data [String] :description Description of the group
62
+ # @option data [String] :image_url GroupMe Image Service URL
63
+ # @option options [Boolean] :share If you pass a true value, a share URL will be generated
64
+ def update_group(group_id, data)
65
+ post "/groups/#{group_id}/update", data
66
+ end
67
+
68
+ # Disband a group
69
+ #
70
+ # @return [Boolean] Success/Failure
71
+ # @see http://dev.groupme.com/docs/v3#groups_destroy
72
+ def destroy_group(group_id)
73
+ post("/groups/#{group_id}/destroy").status == 200
74
+ end
75
+
53
76
  end
54
77
  end
@@ -0,0 +1,21 @@
1
+ module GroupMe
2
+ module Likes
3
+
4
+ # Like a message
5
+ #
6
+ # @return [Boolean] Success/Failure
7
+ # @see http://dev.groupme.com/docs/v3#likes_create
8
+ def create_like(group_id, message_id)
9
+ post("/messages/#{group_id}/#{message_id}/like").status == 200
10
+ end
11
+
12
+ # Unlike a liked message
13
+ #
14
+ # @return [Boolean] Success/Failure
15
+ # @see http://dev.groupme.com/docs/v3#likes_destroy
16
+ def destroy_like(group_id, message_id)
17
+ post("/messages/#{group_id}/#{message_id}/unlike").status == 200
18
+ end
19
+
20
+ end
21
+ end
@@ -0,0 +1,41 @@
1
+ module GroupMe
2
+ module Messages
3
+
4
+ # Create a message for a group
5
+ #
6
+ # @return [Hashie::Mash] Hash representing the message
7
+ # @see http://dev.groupme.com/docs/v3#messages_create
8
+ # @param group_id [String, Integer] Id of the group
9
+ # @param text [String] Text of the message
10
+ # @param attachments [Array<Hash>] Array of attachments
11
+ def create_message(group_id, text, attachments=[])
12
+ data = {
13
+ :message => {
14
+ :source_guid => "GUID",
15
+ :text => text
16
+ }
17
+ }
18
+ data[:message][:attachments] = attachments if attachments.any?
19
+ post("/groups/#{group_id}/messages", data).message
20
+ end
21
+
22
+ # List messages for a group
23
+ #
24
+ # @return [Array<Hashie::Mash>] Array of hashes representing the messages
25
+ # @see http://dev.groupme.com/docs/v3#messages_index
26
+ # @param group_id [String, Integer] Id of the group
27
+ def messages(group_id)
28
+ get("/groups/#{group_id}/messages").messages
29
+ end
30
+
31
+ # Get number of messages for a group
32
+ #
33
+ # @return [Integer] Number of messages
34
+ # @param group_id [String, Integer] Id of the group
35
+ def messages_count(group_id)
36
+ get("/groups/#{group_id}/messages")['count']
37
+ end
38
+ alias :message_count :messages_count
39
+
40
+ end
41
+ end
@@ -0,0 +1,13 @@
1
+ module GroupMe
2
+ module Users
3
+
4
+ # Get details about the authenticated user
5
+ #
6
+ # @return [Hashie::Mash] Hash representing the user
7
+ # @see http://dev.groupme.com/docs/v3#users_me
8
+ def me
9
+ get("/users/me")
10
+ end
11
+
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module GroupMe
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,14 @@
1
+ {
2
+ "message": {
3
+ "id": "1234567890",
4
+ "source_guid": "GUID",
5
+ "created_at": 1302623328,
6
+ "user_id": "1234567890",
7
+ "group_id": "1234567890",
8
+ "name": "John",
9
+ "avatar_url": "http://i.groupme.com/123456789.jpg",
10
+ "text": "Hello world",
11
+ "system": true,
12
+ "attachments": []
13
+ }
14
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "message": {
3
+ "id": "1234567890",
4
+ "source_guid": "GUID",
5
+ "created_at": 1302623328,
6
+ "user_id": "1234567890",
7
+ "group_id": "1234567890",
8
+ "name": "John",
9
+ "avatar_url": "http://i.groupme.com/123456789.jpg",
10
+ "text": "Hello world",
11
+ "system": true,
12
+ "attachments": [
13
+ {
14
+ "type": "location",
15
+ "lat": "40.738206",
16
+ "lng": "-73.993285",
17
+ "name": "GroupMe HQ"
18
+ }
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "message": {
3
+ "id": "1234567890",
4
+ "source_guid": "GUID",
5
+ "created_at": 1302623328,
6
+ "user_id": "1234567890",
7
+ "group_id": "1234567890",
8
+ "name": "John",
9
+ "avatar_url": "http://i.groupme.com/123456789.jpg",
10
+ "text": "Hello world",
11
+ "system": true,
12
+ "attachments": [
13
+ {
14
+ "type": "image",
15
+ "url": "http://i.groupme.com/123456789.jpg"
16
+ }
17
+ ]
18
+ }
19
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "count": 123,
3
+ "messages": [
4
+ {
5
+ "id": "1234567890",
6
+ "source_guid": "GUID",
7
+ "created_at": 1302623328,
8
+ "user_id": "1234567890",
9
+ "group_id": "1234567890",
10
+ "name": "John",
11
+ "avatar_url": "http://i.groupme.com/123456789.jpg",
12
+ "text": "Hello world",
13
+ "system": true,
14
+ "attachments": [
15
+ {
16
+ "type": "image",
17
+ "url": "http://i.groupme.com/123456789.jpg"
18
+ },
19
+ {
20
+ "type": "image",
21
+ "url": "http://i.groupme.com/123456789.jpg"
22
+ },
23
+ {
24
+ "type": "location",
25
+ "lat": "40.738206",
26
+ "lng": "-73.993285",
27
+ "name": "GroupMe HQ"
28
+ }
29
+ ]
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "id": "1234567890",
3
+ "name": "Family",
4
+ "type": "private",
5
+ "description": "Coolest Family Ever",
6
+ "image_url": "http://i.groupme.com/123456789",
7
+ "creator_user_id": "1234567890",
8
+ "created_at": 1302623328,
9
+ "updated_at": 1302623328,
10
+ "members": [
11
+ {
12
+ "user_id": "1234567890",
13
+ "nickname": "Jane",
14
+ "muted": false,
15
+ "image_url": "http://i.groupme.com/123456789"
16
+ }
17
+ ],
18
+ "share_url": "https://groupme.com/join_group/1234567890/SHARE_TOKEN",
19
+ "messages": {
20
+ "count": 100,
21
+ "last_message_id": "1234567890",
22
+ "last_message_created_at": 1302623328,
23
+ "preview": {
24
+ "nickname": "Jane",
25
+ "text": "Hello world",
26
+ "image_url": "http://i.groupme.com/123456789"
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "1234567890",
3
+ "phone_number": "+1 2123001234",
4
+ "image_url": "http://i.groupme.com/123456789",
5
+ "name": "Ronald Swanson",
6
+ "created_at": 1302623328,
7
+ "updated_at": 1302623328,
8
+ "email": "me@example.com",
9
+ "sms": false
10
+ }
@@ -46,4 +46,30 @@ describe GroupMe::Groups do
46
46
 
47
47
  end
48
48
 
49
+ describe ".update_group" do
50
+
51
+ it "updates a group after creation" do
52
+ data = {
53
+ :name => "Family",
54
+ :share => true,
55
+ :image_url => "http://i.groupme.com/123456789"
56
+ }
57
+ stub_post("/groups/4321/update", data).to_return(json_response("updated_group.json"))
58
+ group = @client.update_group(4321, data)
59
+ expect(group.name).to eq("Family")
60
+ expect(group.share_url).to eq("https://groupme.com/join_group/1234567890/SHARE_TOKEN")
61
+ end
62
+
63
+ end
64
+
65
+ describe ".destroy_group" do
66
+
67
+ it "disbands a group" do
68
+ stub_post("/groups/4/destroy").to_return(:status => 200)
69
+ response = @client.destroy_group(4)
70
+ expect(response).to eq(true)
71
+ end
72
+
73
+ end
74
+
49
75
  end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe GroupMe::Likes do
4
+
5
+ before do
6
+ @client = GroupMe::Client.new(:token => "TEST")
7
+ end
8
+
9
+ describe ".create_like" do
10
+
11
+ it "likes a message" do
12
+ stub_post("/messages/3/5/like").to_return(:status => 200)
13
+ response = @client.create_like(3, 5)
14
+ expect(response).to eq(true)
15
+ end
16
+
17
+ end
18
+
19
+ describe ".destroy_like" do
20
+
21
+ it "likes a message" do
22
+ stub_post("/messages/234/8/unlike").to_return(:status => 200)
23
+ response = @client.destroy_like(234, 8)
24
+ expect(response).to eq(true)
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -0,0 +1,70 @@
1
+ require 'spec_helper'
2
+
3
+ describe GroupMe::Messages do
4
+
5
+ before do
6
+ @client = GroupMe::Client.new(:token => "TEST")
7
+ end
8
+
9
+ describe ".message_count" do
10
+
11
+ it "returns the number of messages for a group" do
12
+ stub_get("/groups/1/messages").to_return(json_response("messages.json"))
13
+ expect(@client.message_count(1)).to eq(123)
14
+ end
15
+
16
+ end
17
+
18
+ describe ".messages" do
19
+
20
+ it "returns messages for a group" do
21
+ stub_get("/groups/1/messages").to_return(json_response("messages.json"))
22
+ messages = @client.messages(1)
23
+ expect(messages.first.text).to eq("Hello world")
24
+ end
25
+
26
+ end
27
+
28
+ describe ".create_message" do
29
+
30
+ it "sends a text only message to a group" do
31
+ message = {
32
+ :message => {
33
+ :source_guid => "GUID",
34
+ :text => "Hello world",
35
+ }
36
+ }
37
+ stub_post("/groups/1/messages", message).to_return(json_response("message.json"))
38
+ message = @client.create_message(1, "Hello world")
39
+ expect(message.text).to eq("Hello world")
40
+ end
41
+
42
+ it "sends a message with location to a group" do
43
+ message = {
44
+ :message => {
45
+ :source_guid => "GUID",
46
+ :text => "Hello world",
47
+ :attachments => [
48
+ {
49
+ :type => "location",
50
+ :lat => "40.738206",
51
+ :lng => "-73.993285",
52
+ :name => "GroupMe HQ"
53
+ }
54
+ ]
55
+ }
56
+ }
57
+ stub_post("/groups/1/messages", message).to_return(json_response("message_with_location.json"))
58
+
59
+ att = { :type => "location", :lat => "40.738206", :lng => "-73.993285", :name => "GroupMe HQ" }
60
+ message = @client.create_message(1, "Hello world", [att])
61
+ expect(message.text).to eq("Hello world")
62
+ expect(message.attachments.count).to eq(1)
63
+ expect(message.attachments.first.type).to eq("location")
64
+ expect(message.attachments.first.lat).to eq("40.738206")
65
+ expect(message.attachments.first.lng).to eq("-73.993285")
66
+ end
67
+
68
+ end
69
+
70
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe GroupMe::Users do
4
+
5
+ before do
6
+ @client = GroupMe::Client.new(:token => "TEST")
7
+ end
8
+
9
+ describe ".me" do
10
+
11
+ it "gets details about the authenticated user" do
12
+ stub_get("/users/me").to_return(json_response("user.json"))
13
+ response = @client.me
14
+ expect(response.name).to eq("Ronald Swanson")
15
+ end
16
+
17
+ end
18
+
19
+ end
data/spec/spec_helper.rb CHANGED
@@ -3,14 +3,11 @@ require 'multi_json'
3
3
  require 'webmock/rspec'
4
4
 
5
5
  def stub_get(url)
6
- stub_request(:get, "https://api.groupme.com/v3#{url}").
7
- with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>GroupMe::USER_AGENT})
6
+ stub_request(:get, "https://api.groupme.com/v3#{url}")
8
7
  end
9
8
 
10
- def stub_post(url, data)
11
- stub_request(:post, "https://api.groupme.com/v3#{url}").
12
- with(:headers => {'Accept'=>'*/*', 'User-Agent'=>GroupMe::USER_AGENT, 'Content-Type'=>'application/json'}).
13
- with(:body => MultiJson.dump(data))
9
+ def stub_post(url, data={})
10
+ stub_request(:post, "https://api.groupme.com/v3#{url}").with(:body => MultiJson.dump(data))
14
11
  end
15
12
 
16
13
  def fixture_path
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groupme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Radcliffe
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-11-30 00:00:00.000000000 Z
11
+ date: 2013-07-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: webmock
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: yard
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,23 +69,20 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: redcarpet
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - ~>
84
74
  - !ruby/object:Gem::Version
85
- version: '0'
75
+ version: '2.0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - ~>
92
81
  - !ruby/object:Gem::Version
93
- version: '0'
82
+ version: '2.0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: pry
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: json
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: faraday
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ~>
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ~>
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: faraday_middleware
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
@@ -158,23 +139,20 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: hashie
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ~>
164
144
  - !ruby/object:Gem::Version
165
- version: '1.2'
145
+ version: '2.0'
166
146
  type: :runtime
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ~>
172
151
  - !ruby/object:Gem::Version
173
- version: '1.2'
152
+ version: '2.0'
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: multi_json
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - ~>
180
158
  - !ruby/object:Gem::Version
@@ -182,7 +160,6 @@ dependencies:
182
160
  type: :runtime
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - ~>
188
165
  - !ruby/object:Gem::Version
@@ -190,19 +167,17 @@ dependencies:
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: simple_oauth
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
171
  - - ~>
196
172
  - !ruby/object:Gem::Version
197
- version: 0.1.6
173
+ version: '0.2'
198
174
  type: :runtime
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
178
  - - ~>
204
179
  - !ruby/object:Gem::Version
205
- version: 0.1.6
180
+ version: '0.2'
206
181
  description: Simple wrapper for the GroupMe v3 API
207
182
  email:
208
183
  - radcliffe.david@gmail.com
@@ -214,6 +189,7 @@ files:
214
189
  - .pryrc
215
190
  - .rspec
216
191
  - .travis.yml
192
+ - CONTRIBUTING.md
217
193
  - Gemfile
218
194
  - LICENSE.txt
219
195
  - README.md
@@ -223,48 +199,53 @@ files:
223
199
  - lib/groupme/bots.rb
224
200
  - lib/groupme/client.rb
225
201
  - lib/groupme/groups.rb
202
+ - lib/groupme/likes.rb
226
203
  - lib/groupme/members.rb
204
+ - lib/groupme/messages.rb
205
+ - lib/groupme/users.rb
227
206
  - lib/groupme/version.rb
228
207
  - spec/fixtures/bot.json
229
208
  - spec/fixtures/bots.json
230
209
  - spec/fixtures/former_groups.json
231
210
  - spec/fixtures/group.json
232
211
  - spec/fixtures/groups.json
212
+ - spec/fixtures/message.json
213
+ - spec/fixtures/message_with_location.json
214
+ - spec/fixtures/message_with_one_image.json
215
+ - spec/fixtures/messages.json
216
+ - spec/fixtures/updated_group.json
217
+ - spec/fixtures/user.json
233
218
  - spec/groupme/bots_spec.rb
234
219
  - spec/groupme/client_spec.rb
235
220
  - spec/groupme/groups_spec.rb
221
+ - spec/groupme/likes_spec.rb
236
222
  - spec/groupme/members_spec.rb
223
+ - spec/groupme/messages_spec.rb
224
+ - spec/groupme/users_spec.rb
237
225
  - spec/spec_helper.rb
238
226
  homepage: https://github.com/dwradcliffe/groupme
239
227
  licenses:
240
228
  - MIT
229
+ metadata: {}
241
230
  post_install_message:
242
231
  rdoc_options: []
243
232
  require_paths:
244
233
  - lib
245
234
  required_ruby_version: !ruby/object:Gem::Requirement
246
- none: false
247
235
  requirements:
248
236
  - - ! '>='
249
237
  - !ruby/object:Gem::Version
250
238
  version: '0'
251
- segments:
252
- - 0
253
- hash: 4271238474333281864
254
239
  required_rubygems_version: !ruby/object:Gem::Requirement
255
- none: false
256
240
  requirements:
257
241
  - - ! '>='
258
242
  - !ruby/object:Gem::Version
259
243
  version: '0'
260
- segments:
261
- - 0
262
- hash: 4271238474333281864
263
244
  requirements: []
264
245
  rubyforge_project:
265
- rubygems_version: 1.8.24
246
+ rubygems_version: 2.0.3
266
247
  signing_key:
267
- specification_version: 3
248
+ specification_version: 4
268
249
  summary: Simple wrapper for the GroupMe v3 API
269
250
  test_files:
270
251
  - spec/fixtures/bot.json
@@ -272,9 +253,18 @@ test_files:
272
253
  - spec/fixtures/former_groups.json
273
254
  - spec/fixtures/group.json
274
255
  - spec/fixtures/groups.json
256
+ - spec/fixtures/message.json
257
+ - spec/fixtures/message_with_location.json
258
+ - spec/fixtures/message_with_one_image.json
259
+ - spec/fixtures/messages.json
260
+ - spec/fixtures/updated_group.json
261
+ - spec/fixtures/user.json
275
262
  - spec/groupme/bots_spec.rb
276
263
  - spec/groupme/client_spec.rb
277
264
  - spec/groupme/groups_spec.rb
265
+ - spec/groupme/likes_spec.rb
278
266
  - spec/groupme/members_spec.rb
267
+ - spec/groupme/messages_spec.rb
268
+ - spec/groupme/users_spec.rb
279
269
  - spec/spec_helper.rb
280
270
  has_rdoc: