groupme 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
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=
2
+ SHA1:
3
+ metadata.gz: fecf88030eeb7be396ea35744a6d7e26085323f1
4
+ data.tar.gz: 228d204cc36bbd8e14b5a14b98faaeb68c3a03cf
5
+ SHA512:
6
+ metadata.gz: b8e010147a9db04362159b13f7419e304811f3537a02ad09fa29fa7aca8b94ca6e508ca329380606fe47bdf48d3d634bca052b226538e4bc82794d6f5623969c
7
+ data.tar.gz: 272ad5f24e2fc67dd3416f7bfb7dce63ddda077c4d4ba664904486b3e0efad1608ee66d63b553140fb10368ed12ff116e238bcba0c1692567db3b705df7ace3c
@@ -1,13 +1,12 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
- - 1.9.2
5
- - 1.8.7
6
4
  - 2.0.0
7
- - ree
5
+ - 2.1
8
6
  - ruby-head
9
- - rbx-18mode
10
- - rbx-19mode
7
+ - rbx-2
8
+ - jruby
11
9
  matrix:
12
10
  allow_failures:
13
- - rvm: ruby-head
11
+ - rvm: ruby-head
12
+ - rvm: jruby
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
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
- Simple wrapper for the GroupMe v3 API.
3
+ Simple wrapper for the [GroupMe v3 API](https://dev.groupme.com/docs/v3).
4
4
 
5
5
  ## Installation
6
6
 
@@ -17,10 +17,17 @@ Or install it yourself as:
17
17
  $ gem install groupme
18
18
 
19
19
  ## Documentation
20
- [http://rdoc.info/github/dwradcliffe/groupme][documentation]
20
+ [http://rdoc.info/gems/groupme/frames/index][documentation]
21
21
 
22
- [documentation]: http://rdoc.info/github/dwradcliffe/groupme
22
+ [documentation]: http://rdoc.info/gems/groupme/frames/index
23
23
 
24
24
  ## Usage
25
25
 
26
- TODO: Write usage instructions here
26
+ You will need to start with a client object:
27
+
28
+ @client = GroupMe::Client.new(:token => "TEST")
29
+
30
+ Then you can call any of the API methods on this object:
31
+
32
+ groups = @client.groups
33
+ new_group = @client.create_group("Family")
@@ -19,15 +19,15 @@ Gem::Specification.new do |gem|
19
19
  gem.require_paths = ["lib"]
20
20
 
21
21
  gem.add_development_dependency 'rake'
22
- gem.add_development_dependency 'rspec'
22
+ gem.add_development_dependency 'rspec', '~> 2.0'
23
23
  gem.add_development_dependency 'webmock'
24
24
  gem.add_development_dependency 'yard'
25
- gem.add_development_dependency 'redcarpet', '~> 2.0'
26
25
  gem.add_development_dependency 'pry'
27
26
  gem.add_development_dependency 'json', '~> 1.7'
27
+ gem.add_development_dependency 'timecop', '~> 0.7'
28
28
 
29
- gem.add_dependency 'faraday', '~> 0.8'
30
- gem.add_dependency 'faraday_middleware', '~> 0.8'
29
+ gem.add_dependency 'faraday', '~> 0.8.8'
30
+ gem.add_dependency 'faraday_middleware', '~> 0.9.0'
31
31
  gem.add_dependency 'hashie', '~> 2.0'
32
32
  gem.add_dependency 'multi_json', '~> 1.3'
33
33
  gem.add_dependency 'simple_oauth', '~> 0.2'
@@ -4,7 +4,7 @@ module GroupMe
4
4
  # List the authenticated user's bots.
5
5
  #
6
6
  # @return [Array<Hashie::Mash>] Array of hashes representing bots.
7
- # @see http://dev.groupme.com/docs/v3#bots_index
7
+ # @see https://dev.groupme.com/docs/v3#bots_index
8
8
  # @example
9
9
  # client = GroupMe::Client.new
10
10
  # client.bots
@@ -16,7 +16,7 @@ module GroupMe
16
16
  # Get a single bot.
17
17
  #
18
18
  # @return [Hashie::Mash] Hash representing the bot.
19
- # @see http://dev.groupme.com/docs/v3#bots_show
19
+ # @see https://dev.groupme.com/docs/v3#bots_show
20
20
  # @example
21
21
  # client = GroupMe::Client.new
22
22
  # client.bot(32)
@@ -33,7 +33,7 @@ module GroupMe
33
33
 
34
34
  def request(method, path, data={})
35
35
  res = connection.send(method, "v3/#{path}", data)
36
- if res.status == 200 and !res.body.nil?
36
+ if res.success? and !res.body.nil?
37
37
  return res.body.response
38
38
  else
39
39
  return res
@@ -4,7 +4,7 @@ module GroupMe
4
4
  # List the authenticated user's active groups.
5
5
  #
6
6
  # @return [Array<Hashie::Mash>] Array of hashes representing groups.
7
- # @see http://dev.groupme.com/docs/v3#groups_index
7
+ # @see https://dev.groupme.com/docs/v3#groups_index
8
8
  # @example
9
9
  # client = GroupMe::Client.new
10
10
  # client.groups
@@ -16,7 +16,7 @@ module GroupMe
16
16
  # Load a specific group.
17
17
  #
18
18
  # @return [Hashie::Mash] Hash representing the group.
19
- # @see http://dev.groupme.com/docs/v3#groups_show
19
+ # @see https://dev.groupme.com/docs/v3#groups_show
20
20
  # @param id [String, Integer] The ID of the group
21
21
  # @example
22
22
  # client = GroupMe::Client.new
@@ -28,7 +28,7 @@ module GroupMe
28
28
  # List the authenticated user's former groups.
29
29
  #
30
30
  # @return [Array<Hashie::Mash>] Array of hashes representing groups.
31
- # @see http://dev.groupme.com/docs/v3#groups_index_former
31
+ # @see https://dev.groupme.com/docs/v3#groups_index_former
32
32
  # @example
33
33
  # client = GroupMe::Client.new
34
34
  # client.former_groups
@@ -40,7 +40,7 @@ module GroupMe
40
40
  # Create a new group.
41
41
  #
42
42
  # @return [Hashie::Mash] Hash representing the group
43
- # @see http://dev.groupme.com/docs/v3#groups_create
43
+ # @see https://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
@@ -54,7 +54,7 @@ module GroupMe
54
54
  # Update a group after creation
55
55
  #
56
56
  # @return [Hashie::Mash] Hash representing the group
57
- # @see http://dev.groupme.com/docs/v3#groups_update
57
+ # @see https://dev.groupme.com/docs/v3#groups_update
58
58
  # @param name [Integer] Group ID
59
59
  # @param data [Hash] Group information
60
60
  # @option data [String] :name Name of the group
@@ -68,10 +68,18 @@ module GroupMe
68
68
  # Disband a group
69
69
  #
70
70
  # @return [Boolean] Success/Failure
71
- # @see http://dev.groupme.com/docs/v3#groups_destroy
71
+ # @see https://dev.groupme.com/docs/v3#groups_destroy
72
72
  def destroy_group(group_id)
73
73
  post("/groups/#{group_id}/destroy").status == 200
74
74
  end
75
75
 
76
+ # Join a shared group
77
+ #
78
+ # @return [Boolean] Success/Failure
79
+ # @see https://dev.groupme.com/docs/v3#groups_join
80
+ def join_group(group_id, share_token)
81
+ post("/groups/#{group_id}/join/#{share_token}").status == 200
82
+ end
83
+
76
84
  end
77
85
  end
@@ -4,7 +4,7 @@ module GroupMe
4
4
  # Like a message
5
5
  #
6
6
  # @return [Boolean] Success/Failure
7
- # @see http://dev.groupme.com/docs/v3#likes_create
7
+ # @see https://dev.groupme.com/docs/v3#likes_create
8
8
  def create_like(group_id, message_id)
9
9
  post("/messages/#{group_id}/#{message_id}/like").status == 200
10
10
  end
@@ -12,7 +12,7 @@ module GroupMe
12
12
  # Unlike a liked message
13
13
  #
14
14
  # @return [Boolean] Success/Failure
15
- # @see http://dev.groupme.com/docs/v3#likes_destroy
15
+ # @see https://dev.groupme.com/docs/v3#likes_destroy
16
16
  def destroy_like(group_id, message_id)
17
17
  post("/messages/#{group_id}/#{message_id}/unlike").status == 200
18
18
  end
@@ -4,7 +4,7 @@ module GroupMe
4
4
  # Add members to a group
5
5
  #
6
6
  # @return [Boolean] Success/Failure
7
- # @see http://dev.groupme.com/docs/v3#members_add
7
+ # @see https://dev.groupme.com/docs/v3#members_add
8
8
  # @param id [String, Integer] Id of the group
9
9
  # @param members [Array<Hash>] Members to be added
10
10
  # @option members [String] :nickname
@@ -19,7 +19,7 @@ module GroupMe
19
19
  # Add member to a group
20
20
  #
21
21
  # @return [Boolean] Success/Failure
22
- # @see http://dev.groupme.com/docs/v3#members_add
22
+ # @see https://dev.groupme.com/docs/v3#members_add
23
23
  # @param id [String, Integer] Id of the group
24
24
  # @param member [Hash] Member to be added
25
25
  # @option member [String] :nickname
@@ -31,5 +31,15 @@ module GroupMe
31
31
  post("/groups/#{id}/members/add", [member]).status == 202
32
32
  end
33
33
 
34
+ # Remove a member from a group
35
+ #
36
+ # @return [Boolean] Success/Failure
37
+ # @see https://dev.groupme.com/docs/v3#members_remove
38
+ # @param group_id [String, Integer] Id of the group
39
+ # @param member_id [String, Integer] Id of the member
40
+ def remove_member(group_id, member_id)
41
+ post("/groups/#{group_id}/members/#{member_id}/remove").status == 200
42
+ end
43
+
34
44
  end
35
45
  end
@@ -4,14 +4,14 @@ module GroupMe
4
4
  # Create a message for a group
5
5
  #
6
6
  # @return [Hashie::Mash] Hash representing the message
7
- # @see http://dev.groupme.com/docs/v3#messages_create
7
+ # @see https://dev.groupme.com/docs/v3#messages_create
8
8
  # @param group_id [String, Integer] Id of the group
9
9
  # @param text [String] Text of the message
10
10
  # @param attachments [Array<Hash>] Array of attachments
11
11
  def create_message(group_id, text, attachments=[])
12
12
  data = {
13
13
  :message => {
14
- :source_guid => "GUID",
14
+ :source_guid => Time.now.to_s,
15
15
  :text => text
16
16
  }
17
17
  }
@@ -22,7 +22,7 @@ module GroupMe
22
22
  # List messages for a group
23
23
  #
24
24
  # @return [Array<Hashie::Mash>] Array of hashes representing the messages
25
- # @see http://dev.groupme.com/docs/v3#messages_index
25
+ # @see https://dev.groupme.com/docs/v3#messages_index
26
26
  # @param group_id [String, Integer] Id of the group
27
27
  def messages(group_id)
28
28
  get("/groups/#{group_id}/messages").messages
@@ -38,4 +38,4 @@ module GroupMe
38
38
  alias :message_count :messages_count
39
39
 
40
40
  end
41
- end
41
+ end
@@ -4,7 +4,7 @@ module GroupMe
4
4
  # Get details about the authenticated user
5
5
  #
6
6
  # @return [Hashie::Mash] Hash representing the user
7
- # @see http://dev.groupme.com/docs/v3#users_me
7
+ # @see https://dev.groupme.com/docs/v3#users_me
8
8
  def me
9
9
  get("/users/me")
10
10
  end
@@ -1,3 +1,3 @@
1
1
  module GroupMe
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -3,7 +3,7 @@
3
3
  "name": "Family",
4
4
  "type": "private",
5
5
  "description": "Coolest Family Ever",
6
- "image_url": "http://i.groupme.com/123456789.jpg",
6
+ "image_url": "http://i.groupme.com/123456789",
7
7
  "creator_user_id": "1234567890",
8
8
  "created_at": 1302623328,
9
9
  "updated_at": 1302623328,
@@ -12,9 +12,10 @@
12
12
  "user_id": "1234567890",
13
13
  "nickname": "Jane",
14
14
  "muted": false,
15
- "image_url": "http://i.groupme.com/123456789.jpg"
15
+ "image_url": "http://i.groupme.com/123456789"
16
16
  }
17
17
  ],
18
+ "share_url": "https://groupme.com/join_group/1234567890/SHARE_TOKEN",
18
19
  "messages": {
19
20
  "count": 100,
20
21
  "last_message_id": "1234567890",
@@ -22,7 +23,41 @@
22
23
  "preview": {
23
24
  "nickname": "Jane",
24
25
  "text": "Hello world",
25
- "image_url": "http://i.groupme.com/123456789.jpg"
26
+ "image_url": "http://i.groupme.com/123456789",
27
+ "attachments": [
28
+ {
29
+ "type": "image",
30
+ "url": "http://i.groupme.com/123456789"
31
+ },
32
+ {
33
+ "type": "image",
34
+ "url": "http://i.groupme.com/123456789"
35
+ },
36
+ {
37
+ "type": "location",
38
+ "lat": "40.738206",
39
+ "lng": "-73.993285",
40
+ "name": "GroupMe HQ"
41
+ },
42
+ {
43
+ "type": "split",
44
+ "token": "SPLIT_TOKEN"
45
+ },
46
+ {
47
+ "type": "emoji",
48
+ "placeholder": "☃",
49
+ "charmap": [
50
+ [
51
+ 1,
52
+ 42
53
+ ],
54
+ [
55
+ 2,
56
+ 34
57
+ ]
58
+ ]
59
+ }
60
+ ]
26
61
  }
27
62
  }
28
63
  }
@@ -4,7 +4,7 @@
4
4
  "name": "Family",
5
5
  "type": "private",
6
6
  "description": "Coolest Family Ever",
7
- "image_url": "http://i.groupme.com/123456789.jpg",
7
+ "image_url": "http://i.groupme.com/123456789",
8
8
  "creator_user_id": "1234567890",
9
9
  "created_at": 1302623328,
10
10
  "updated_at": 1302623328,
@@ -13,9 +13,10 @@
13
13
  "user_id": "1234567890",
14
14
  "nickname": "Jane",
15
15
  "muted": false,
16
- "image_url": "http://i.groupme.com/123456789.jpg"
16
+ "image_url": "http://i.groupme.com/123456789"
17
17
  }
18
18
  ],
19
+ "share_url": "https://groupme.com/join_group/1234567890/SHARE_TOKEN",
19
20
  "messages": {
20
21
  "count": 100,
21
22
  "last_message_id": "1234567890",
@@ -23,7 +24,41 @@
23
24
  "preview": {
24
25
  "nickname": "Jane",
25
26
  "text": "Hello world",
26
- "image_url": "http://i.groupme.com/123456789.jpg"
27
+ "image_url": "http://i.groupme.com/123456789",
28
+ "attachments": [
29
+ {
30
+ "type": "image",
31
+ "url": "http://i.groupme.com/123456789"
32
+ },
33
+ {
34
+ "type": "image",
35
+ "url": "http://i.groupme.com/123456789"
36
+ },
37
+ {
38
+ "type": "location",
39
+ "lat": "40.738206",
40
+ "lng": "-73.993285",
41
+ "name": "GroupMe HQ"
42
+ },
43
+ {
44
+ "type": "split",
45
+ "token": "SPLIT_TOKEN"
46
+ },
47
+ {
48
+ "type": "emoji",
49
+ "placeholder": "☃",
50
+ "charmap": [
51
+ [
52
+ 1,
53
+ 42
54
+ ],
55
+ [
56
+ 2,
57
+ 34
58
+ ]
59
+ ]
60
+ }
61
+ ]
27
62
  }
28
63
  }
29
64
  }
@@ -6,9 +6,14 @@
6
6
  "user_id": "1234567890",
7
7
  "group_id": "1234567890",
8
8
  "name": "John",
9
- "avatar_url": "http://i.groupme.com/123456789.jpg",
10
- "text": "Hello world",
9
+ "avatar_url": "http://i.groupme.com/123456789",
10
+ "text": "Hello world ☃☃",
11
11
  "system": true,
12
+ "favorited_by": [
13
+ "101",
14
+ "66",
15
+ "1234567890"
16
+ ],
12
17
  "attachments": []
13
18
  }
14
19
  }
@@ -6,9 +6,14 @@
6
6
  "user_id": "1234567890",
7
7
  "group_id": "1234567890",
8
8
  "name": "John",
9
- "avatar_url": "http://i.groupme.com/123456789.jpg",
10
- "text": "Hello world",
9
+ "avatar_url": "http://i.groupme.com/123456789",
10
+ "text": "Hello world ☃☃",
11
11
  "system": true,
12
+ "favorited_by": [
13
+ "101",
14
+ "66",
15
+ "1234567890"
16
+ ],
12
17
  "attachments": [
13
18
  {
14
19
  "type": "location",
@@ -6,13 +6,18 @@
6
6
  "user_id": "1234567890",
7
7
  "group_id": "1234567890",
8
8
  "name": "John",
9
- "avatar_url": "http://i.groupme.com/123456789.jpg",
10
- "text": "Hello world",
9
+ "avatar_url": "http://i.groupme.com/123456789",
10
+ "text": "Hello world ☃☃",
11
11
  "system": true,
12
+ "favorited_by": [
13
+ "101",
14
+ "66",
15
+ "1234567890"
16
+ ],
12
17
  "attachments": [
13
18
  {
14
19
  "type": "image",
15
- "url": "http://i.groupme.com/123456789.jpg"
20
+ "url": "http://i.groupme.com/123456789"
16
21
  }
17
22
  ]
18
23
  }
@@ -8,23 +8,46 @@
8
8
  "user_id": "1234567890",
9
9
  "group_id": "1234567890",
10
10
  "name": "John",
11
- "avatar_url": "http://i.groupme.com/123456789.jpg",
12
- "text": "Hello world",
11
+ "avatar_url": "http://i.groupme.com/123456789",
12
+ "text": "Hello world ☃☃",
13
13
  "system": true,
14
+ "favorited_by": [
15
+ "101",
16
+ "66",
17
+ "1234567890"
18
+ ],
14
19
  "attachments": [
15
20
  {
16
21
  "type": "image",
17
- "url": "http://i.groupme.com/123456789.jpg"
22
+ "url": "http://i.groupme.com/123456789"
18
23
  },
19
24
  {
20
25
  "type": "image",
21
- "url": "http://i.groupme.com/123456789.jpg"
26
+ "url": "http://i.groupme.com/123456789"
22
27
  },
23
28
  {
24
29
  "type": "location",
25
30
  "lat": "40.738206",
26
31
  "lng": "-73.993285",
27
32
  "name": "GroupMe HQ"
33
+ },
34
+ {
35
+ "type": "split",
36
+ "token": "SPLIT_TOKEN"
37
+ },
38
+ {
39
+ "type": "emoji",
40
+ "placeholder": "☃",
41
+ "charmap": [
42
+ [
43
+ 1,
44
+ 42
45
+ ],
46
+ [
47
+ 2,
48
+ 34
49
+ ]
50
+ ]
28
51
  }
29
52
  ]
30
53
  }
@@ -72,4 +72,14 @@ describe GroupMe::Groups do
72
72
 
73
73
  end
74
74
 
75
+ describe ".join_group" do
76
+
77
+ it "joins a shared group" do
78
+ stub_post("/groups/4/join/1234asdf").to_return(:status => 200)
79
+ response = @client.join_group(4, '1234asdf')
80
+ expect(response).to eq(true)
81
+ end
82
+
83
+ end
84
+
75
85
  end
@@ -44,4 +44,14 @@ describe GroupMe::Members do
44
44
 
45
45
  end
46
46
 
47
+ describe '.remove_member' do
48
+
49
+ it 'removes a member from the group' do
50
+ stub_post("/groups/1/members/234/remove").to_return(:status => 200)
51
+ response = @client.remove_member(1, 234)
52
+ expect(response).to eq(true)
53
+ end
54
+
55
+ end
56
+
47
57
  end
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe GroupMe::Messages do
@@ -20,30 +22,38 @@ describe GroupMe::Messages do
20
22
  it "returns messages for a group" do
21
23
  stub_get("/groups/1/messages").to_return(json_response("messages.json"))
22
24
  messages = @client.messages(1)
23
- expect(messages.first.text).to eq("Hello world")
25
+ expect(messages.first.text).to eq("Hello world ☃☃")
24
26
  end
25
27
 
26
28
  end
27
29
 
28
30
  describe ".create_message" do
29
31
 
32
+ before do
33
+ Timecop.freeze(Time.new(2014, 10, 25, 22, 33, 44, 0000))
34
+ end
35
+
36
+ after do
37
+ Timecop.return
38
+ end
39
+
30
40
  it "sends a text only message to a group" do
31
41
  message = {
32
42
  :message => {
33
- :source_guid => "GUID",
34
- :text => "Hello world",
43
+ :source_guid => '2014-10-25 22:33:44 +0000',
44
+ :text => "Hello world ☃☃",
35
45
  }
36
46
  }
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")
47
+ stub_post("/groups/1/messages", message).to_return(json_response("message.json", 201))
48
+ message = @client.create_message(1, "Hello world ☃☃")
49
+ expect(message.text).to eq("Hello world ☃☃")
40
50
  end
41
51
 
42
52
  it "sends a message with location to a group" do
43
53
  message = {
44
54
  :message => {
45
- :source_guid => "GUID",
46
- :text => "Hello world",
55
+ :source_guid => '2014-10-25 22:33:44 +0000',
56
+ :text => "Hello world ☃☃",
47
57
  :attachments => [
48
58
  {
49
59
  :type => "location",
@@ -54,11 +64,11 @@ describe GroupMe::Messages do
54
64
  ]
55
65
  }
56
66
  }
57
- stub_post("/groups/1/messages", message).to_return(json_response("message_with_location.json"))
58
-
67
+ stub_post("/groups/1/messages", message).to_return(json_response("message_with_location.json", 201))
68
+
59
69
  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")
70
+ message = @client.create_message(1, "Hello world ☃☃", [att])
71
+ expect(message.text).to eq("Hello world ☃☃")
62
72
  expect(message.attachments.count).to eq(1)
63
73
  expect(message.attachments.first.type).to eq("location")
64
74
  expect(message.attachments.first.lat).to eq("40.738206")
@@ -67,4 +77,4 @@ describe GroupMe::Messages do
67
77
 
68
78
  end
69
79
 
70
- end
80
+ end
@@ -1,6 +1,7 @@
1
1
  require 'groupme'
2
2
  require 'multi_json'
3
3
  require 'webmock/rspec'
4
+ require 'timecop'
4
5
 
5
6
  def stub_get(url)
6
7
  stub_request(:get, "https://api.groupme.com/v3#{url}")
@@ -18,12 +19,13 @@ def fixture(file)
18
19
  MultiJson.load(File.read(fixture_path + '/' + file))
19
20
  end
20
21
 
21
- def json_response(file)
22
+ def json_response(file, status = 200)
22
23
  {
24
+ :status => status,
23
25
  :body => {
24
26
  :response => fixture(file),
25
27
  :meta => {
26
- :code => 200,
28
+ :code => status,
27
29
  :errors => []
28
30
  }
29
31
  },
metadata CHANGED
@@ -1,141 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groupme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Radcliffe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-27 00:00:00.000000000 Z
11
+ date: 2014-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '2.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: webmock
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: yard
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: redcarpet
70
+ name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
- version: '2.0'
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
- version: '2.0'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: pry
84
+ name: json
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '1.7'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '1.7'
97
97
  - !ruby/object:Gem::Dependency
98
- name: json
98
+ name: timecop
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ~>
102
102
  - !ruby/object:Gem::Version
103
- version: '1.7'
103
+ version: '0.7'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ~>
109
109
  - !ruby/object:Gem::Version
110
- version: '1.7'
110
+ version: '0.7'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: faraday
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: '0.8'
117
+ version: 0.8.8
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ~>
123
123
  - !ruby/object:Gem::Version
124
- version: '0.8'
124
+ version: 0.8.8
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: faraday_middleware
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ~>
130
130
  - !ruby/object:Gem::Version
131
- version: '0.8'
131
+ version: 0.9.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ~>
137
137
  - !ruby/object:Gem::Version
138
- version: '0.8'
138
+ version: 0.9.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: hashie
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -233,17 +233,17 @@ require_paths:
233
233
  - lib
234
234
  required_ruby_version: !ruby/object:Gem::Requirement
235
235
  requirements:
236
- - - ! '>='
236
+ - - '>='
237
237
  - !ruby/object:Gem::Version
238
238
  version: '0'
239
239
  required_rubygems_version: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - ! '>='
241
+ - - '>='
242
242
  - !ruby/object:Gem::Version
243
243
  version: '0'
244
244
  requirements: []
245
245
  rubyforge_project:
246
- rubygems_version: 2.0.3
246
+ rubygems_version: 2.0.14
247
247
  signing_key:
248
248
  specification_version: 4
249
249
  summary: Simple wrapper for the GroupMe v3 API