hipchat-api 1.0.4 → 1.0.5

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.
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --colour
2
2
  --format doc
3
+ --order random
data/CHANGELOG.md CHANGED
@@ -1,19 +1,26 @@
1
- # 1.0.4 (2012-07-16)
1
+ # CHANGELOG
2
+
3
+ ## 1.0.5 (2012-12-04)
4
+
5
+ * Added `rooms_topic` method to set a room's topic.
6
+ * Added `users_undelete` method to undelete a user.
7
+
8
+ ## 1.0.4 (2012-07-16)
2
9
 
3
10
  * Change reject! to reject to fix create user issue. Fixes #2. Thanks @bradleybuda.
4
11
 
5
- # 1.0.3 (2012-07-13)
12
+ ## 1.0.3 (2012-07-13)
6
13
 
7
14
  * Add support to the new message_format param when publishing messages to a room. Thanks @rtopitt.
8
15
 
9
- # 1.0.2 (2011-09-09)
16
+ ## 1.0.2 (2011-09-09)
10
17
 
11
18
  * Added missing HipChat API methods: `rooms_create`, `rooms_delete`
12
19
 
13
- # 1.0.1 (2011-05-09)
20
+ ## 1.0.1 (2011-05-09)
14
21
 
15
22
  * Set the default HIPCHAT_API_URL to use https
16
23
 
17
- # 1.0.0 (2011-05-07)
24
+ ## 1.0.0 (2011-05-07)
18
25
 
19
26
  * Initial release
data/README.md CHANGED
@@ -39,6 +39,7 @@ rooms_delete(room_id)
39
39
  rooms_list
40
40
  rooms_history(room_id, date, timezone)
41
41
  rooms_message(room_id, from, message, notify = 0, color = 'yellow', message_format = 'html')
42
+ rooms_topic(toom_id, topic, from = 'API')
42
43
  rooms_show(room_id)
43
44
  ```
44
45
 
@@ -48,7 +49,8 @@ rooms_show(room_id)
48
49
  users_list
49
50
  users_create(email, name, title, is_group_admin = 0, password = nil, timezone = 'UTC')
50
51
  users_delete(user_id)
51
- users_show(user_id)
52
+ users_show(user_id)
53
+ users_undelete(user_id)
52
54
  users_update(user_id, email = nil, name = nil, title = nil, is_group_admin = nil, password = nil, timezone = nil)
53
55
  ```
54
56
 
data/hipchat-api.gemspec CHANGED
@@ -23,6 +23,6 @@ Gem::Specification.new do |s|
23
23
 
24
24
  s.add_development_dependency('fakeweb')
25
25
  s.add_development_dependency('mocha', '~> 0.11.4')
26
- s.add_development_dependency('rspec', '~> 2.7.0')
26
+ s.add_development_dependency('rspec')
27
27
  s.add_development_dependency('rake')
28
28
  end
data/lib/hipchat-api.rb CHANGED
@@ -113,6 +113,17 @@ module HipChat
113
113
  :message => message, :notify => notify, :color => color, :message_format => message_format})
114
114
  end
115
115
 
116
+ # Set a room's topic. Useful for displaying statistics, important links, server status, you name it!
117
+ #
118
+ # @param room_id [int] ID of the room.
119
+ # @param topic [String] The topic body. 250 characters max.
120
+ # @param from [String, 'API'] Name of the service changing the topic. (default: API).
121
+ #
122
+ # @see https://www.hipchat.com/docs/api/method/rooms/topic
123
+ def rooms_topic(room_id, topic, from = 'API')
124
+ self.class.post(hipchat_api_url_for('rooms/topic'), :body => {:auth_token => @token, :room_id => room_id, :topic => topic, :from => from})
125
+ end
126
+
116
127
  # Get room details.
117
128
  #
118
129
  # @param room_id [int] ID of the room.
@@ -162,6 +173,15 @@ module HipChat
162
173
  self.class.get(hipchat_api_url_for('users/show'), :query => {:auth_token => @token, :user_id => user_id})
163
174
  end
164
175
 
176
+ # Undelete a user. They will be sent an email requiring them to click a link to reactivate the account.
177
+ #
178
+ # @param user_id [String] ID or email address of the user.
179
+ #
180
+ # @see https://www.hipchat.com/docs/api/method/users/undelete
181
+ def users_undelete(user_id)
182
+ self.class.post(hipchat_api_url_for('users/undelete'), :body => {:auth_token => @token, :user_id => user_id})
183
+ end
184
+
165
185
  # Update a user.
166
186
  #
167
187
  # @param email [String] User's email.
@@ -1,5 +1,5 @@
1
1
  module HipChat
2
2
  class API
3
- VERSION = '1.0.4'.freeze
3
+ VERSION = '1.0.5'.freeze
4
4
  end
5
5
  end
@@ -0,0 +1 @@
1
+ { "status": "ok" }
@@ -0,0 +1 @@
1
+ { "undeleted": true }
@@ -14,7 +14,7 @@ describe "HipChat::API" do
14
14
  end
15
15
 
16
16
  it "should be the correct version" do
17
- HipChat::API::VERSION.should == '1.0.4'
17
+ HipChat::API::VERSION.should == '1.0.5'
18
18
  end
19
19
 
20
20
  it "should create a new instance with the correct parameters" do
@@ -90,6 +90,17 @@ describe "HipChat::API" do
90
90
  rooms_message_response['status'].should == 'sent'
91
91
  end
92
92
 
93
+ it "should update a room's topic" do
94
+ FakeWeb.register_uri(:post,
95
+ %r|#{HipChat::API::HIPCHAT_API_URL}/rooms/topic|,
96
+ :body => File.join(File.dirname(__FILE__), 'fakeweb', 'rooms_topic_response.json'),
97
+ :content_type => "application/json")
98
+
99
+ rooms_message_response = @hipchat_api.rooms_topic(10, 'This is a new topic')
100
+ rooms_message_response.should_not be nil
101
+ rooms_message_response['status'].should == 'ok'
102
+ end
103
+
93
104
  it "should return a history of messages" do
94
105
  FakeWeb.register_uri(:get,
95
106
  %r|#{HipChat::API::HIPCHAT_API_URL}/rooms/history|,
@@ -149,6 +160,17 @@ describe "HipChat::API" do
149
160
  users_show_response['user']['name'].should == 'Garret Heaton'
150
161
  end
151
162
 
163
+ it "should undelete a user" do
164
+ FakeWeb.register_uri(:post,
165
+ %r|#{HipChat::API::HIPCHAT_API_URL}/users/undelete|,
166
+ :body => File.join(File.dirname(__FILE__), 'fakeweb', 'users_undelete_response.json'),
167
+ :content_type => "application/json")
168
+
169
+ users_update_response = @hipchat_api.users_undelete('new-email-address@hipchat.com')
170
+ users_update_response.should_not be nil
171
+ users_update_response['undeleted'].should be true
172
+ end
173
+
152
174
  it "should update a user" do
153
175
  FakeWeb.register_uri(:post,
154
176
  %r|#{HipChat::API::HIPCHAT_API_URL}/users/update|,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hipchat-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-17 00:00:00.000000000 Z
12
+ date: 2012-12-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -64,17 +64,17 @@ dependencies:
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ~>
67
+ - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
- version: 2.7.0
69
+ version: '0'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ~>
75
+ - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
- version: 2.7.0
77
+ version: '0'
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: rake
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -117,10 +117,12 @@ files:
117
117
  - spec/fakeweb/rooms_list_response.json
118
118
  - spec/fakeweb/rooms_message_response.json
119
119
  - spec/fakeweb/rooms_show_response.json
120
+ - spec/fakeweb/rooms_topic_response.json
120
121
  - spec/fakeweb/users_create_response.json
121
122
  - spec/fakeweb/users_delete_response.json
122
123
  - spec/fakeweb/users_list_response.json
123
124
  - spec/fakeweb/users_show_response.json
125
+ - spec/fakeweb/users_undelete_response.json
124
126
  - spec/fakeweb/users_update_response.json
125
127
  - spec/hipchat-api_spec.rb
126
128
  - spec/spec_helper.rb
@@ -138,7 +140,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
140
  version: '0'
139
141
  segments:
140
142
  - 0
141
- hash: 1264281140319170135
143
+ hash: -2445592630498617141
142
144
  required_rubygems_version: !ruby/object:Gem::Requirement
143
145
  none: false
144
146
  requirements:
@@ -147,10 +149,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
149
  version: '0'
148
150
  segments:
149
151
  - 0
150
- hash: 1264281140319170135
152
+ hash: -2445592630498617141
151
153
  requirements: []
152
154
  rubyforge_project: hipchat-api
153
- rubygems_version: 1.8.23
155
+ rubygems_version: 1.8.24
154
156
  signing_key:
155
157
  specification_version: 3
156
158
  summary: Ruby gem for interacting with HipChat
@@ -161,10 +163,12 @@ test_files:
161
163
  - spec/fakeweb/rooms_list_response.json
162
164
  - spec/fakeweb/rooms_message_response.json
163
165
  - spec/fakeweb/rooms_show_response.json
166
+ - spec/fakeweb/rooms_topic_response.json
164
167
  - spec/fakeweb/users_create_response.json
165
168
  - spec/fakeweb/users_delete_response.json
166
169
  - spec/fakeweb/users_list_response.json
167
170
  - spec/fakeweb/users_show_response.json
171
+ - spec/fakeweb/users_undelete_response.json
168
172
  - spec/fakeweb/users_update_response.json
169
173
  - spec/hipchat-api_spec.rb
170
174
  - spec/spec_helper.rb