spire_io 1.2 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/spire/api/application.rb +31 -0
- data/lib/spire/api/subscription.rb +7 -8
- metadata +4 -3
@@ -188,6 +188,16 @@ class Spire
|
|
188
188
|
}
|
189
189
|
end
|
190
190
|
|
191
|
+
define_request(:reset_member_password) do |email|
|
192
|
+
url = @resources["members"]["url"]
|
193
|
+
{
|
194
|
+
:method => :post,
|
195
|
+
:url => url,
|
196
|
+
:query => { :email => email },
|
197
|
+
:body => ""
|
198
|
+
}
|
199
|
+
end
|
200
|
+
|
191
201
|
#Authenticates with the application using basic auth
|
192
202
|
def authenticate(login, password)
|
193
203
|
response = request(:authenticate, {:login => login, :password => password})
|
@@ -206,6 +216,18 @@ class Spire
|
|
206
216
|
API::Member.new(@spire, response.data)
|
207
217
|
end
|
208
218
|
|
219
|
+
#If you do not give a new password, you will get back an authenticated member but have to change
|
220
|
+
#the password at a later time (using the returned capability)
|
221
|
+
def reset_password(reset_key, new_password = nil)
|
222
|
+
hsh = {:reset_key => reset_key}
|
223
|
+
hsh[:password] = new_password if new_password
|
224
|
+
response = request(:authenticate_with_post, hsh)
|
225
|
+
unless response.status == 201
|
226
|
+
raise "Error reseting password for application #{self.name}: (#{response.status}) #{response.body}"
|
227
|
+
end
|
228
|
+
API::Member.new(@spire, response.data)
|
229
|
+
end
|
230
|
+
|
209
231
|
def create_member(member_data)
|
210
232
|
response = request(:create_member, member_data)
|
211
233
|
unless response.status == 201
|
@@ -214,6 +236,15 @@ class Spire
|
|
214
236
|
API::Member.new(@spire, response.data)
|
215
237
|
end
|
216
238
|
|
239
|
+
#Resets a members password based on email
|
240
|
+
def request_member_password_reset(email)
|
241
|
+
response = request(:reset_member_password, email)
|
242
|
+
unless response.status == 202
|
243
|
+
raise "Error reseting password for email #{email} in app #{self.name}: (#{response.status}) #{response.body}"
|
244
|
+
end
|
245
|
+
true
|
246
|
+
end
|
247
|
+
|
217
248
|
def members
|
218
249
|
@members || members!
|
219
250
|
end
|
@@ -3,7 +3,7 @@ class Spire
|
|
3
3
|
|
4
4
|
class Subscription < Resource
|
5
5
|
|
6
|
-
|
6
|
+
attr_accessor :last
|
7
7
|
def resource_name
|
8
8
|
"subscription"
|
9
9
|
end
|
@@ -14,9 +14,12 @@ class Spire
|
|
14
14
|
:url => @url,
|
15
15
|
:query => {
|
16
16
|
"timeout" => options[:timeout],
|
17
|
+
"limit" => options[:limit],
|
18
|
+
"min_timestamp" => options[:min_timestamp],
|
19
|
+
"max_timestamp" => options[:max_timestamp],
|
20
|
+
"delay" => options[:delay],
|
17
21
|
"last" => options[:last],
|
18
|
-
"order-by" => options[:order_by]
|
19
|
-
"delay" => options[:delay]
|
22
|
+
"order-by" => options[:order_by]
|
20
23
|
},
|
21
24
|
:headers => {
|
22
25
|
"Authorization" => "Capability #{@capabilities["events"]}",
|
@@ -50,10 +53,6 @@ class Spire
|
|
50
53
|
end
|
51
54
|
|
52
55
|
def retrieve_events(options={})
|
53
|
-
options[:last] ||= "0"
|
54
|
-
options[:delay] ||= 0
|
55
|
-
options[:order_by] ||= "desc"
|
56
|
-
|
57
56
|
response = request(:events, options)
|
58
57
|
unless response.status == 200
|
59
58
|
raise "Error retrieving messages from #{self.class.name}: (#{response.status}) #{response.body}"
|
@@ -91,7 +90,7 @@ class Spire
|
|
91
90
|
|
92
91
|
def long_poll(options={})
|
93
92
|
options[:timeout] ||= 30
|
94
|
-
options[:last] = @last
|
93
|
+
options[:last] = @last if @last
|
95
94
|
retrieve_events(options)
|
96
95
|
end
|
97
96
|
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spire_io
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 2
|
9
|
-
|
9
|
+
- 1
|
10
|
+
version: 1.2.1
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Dan Yoder
|
@@ -16,7 +17,7 @@ autorequire:
|
|
16
17
|
bindir: bin
|
17
18
|
cert_chain: []
|
18
19
|
|
19
|
-
date: 2012-05-
|
20
|
+
date: 2012-05-22 00:00:00 -07:00
|
20
21
|
default_executable:
|
21
22
|
dependencies:
|
22
23
|
- !ruby/object:Gem::Dependency
|