stormpath-sdk 1.0.0.beta.2 → 1.0.0.beta.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +6 -0
- data/CHANGES.md +8 -0
- data/README.md +94 -13
- data/lib/stormpath-sdk/data_store.rb +3 -1
- data/lib/stormpath-sdk/http/request.rb +1 -1
- data/lib/stormpath-sdk/resource/associations.rb +2 -2
- data/lib/stormpath-sdk/version.rb +2 -2
- data/spec/client_spec.rb +106 -10
- data/stormpath-sdk.gemspec +1 -0
- metadata +19 -45
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YjI3MzYxY2JjNDRjN2NiOTUwMjEyNjI1MjBmZjJlYzQxZDFhNGVlNw==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ODFkZWE1MTE3ZDAyMmI3ZWY0NTZjYThiNWJiOTNhODA5MzY5NzBjMw==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YjY1ZDMxYTcxMzBjZDNkZmU2NDczMmE5NDIzYWQxMjI0OGVkOGE4ZTFiZmZh
|
10
|
+
ODgxYzNhMDQ4MDE5Y2RmOWZlNGNkNTM5M2YxZTBiZmUwYWRhZjgwODVlZDBk
|
11
|
+
NTYxNTgwMTAyMTc3N2RmYmUyMzM5OWU3MjQ4OGZmOGRkOGUzMjI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
OTdiZmE1NGU0MjIwNWZlNDhjZWViYzQ0NDk5NjQ0NTcwYjhlZTNmZGIzMThk
|
14
|
+
ZjBmMDlhODQ2ZDhlNzM3ZDdjNGY0MzdmMTdjNWNmMzA0OGJlMGFjYWUyMTdm
|
15
|
+
NTg3MmVjMjA5ODJlYTE0YWM1MjFlMmFhOTMxNmNhNTIzY2RiOGY=
|
data/.gitignore
CHANGED
data/CHANGES.md
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
stormpath-sdk-ruby Changelog
|
2
2
|
============================
|
3
3
|
|
4
|
+
Version 1.0.0.beta.3
|
5
|
+
--------------------
|
6
|
+
|
7
|
+
Released on September 25, 2013
|
8
|
+
|
9
|
+
- Added support for using special characters in account resource fields (e.g., username, password, etc.) when creating or updating a resource
|
10
|
+
- Added "createDirectory=true" option to the application.create method to allow automatic creation of a directory when creating an application. Refer to readme for more info.
|
11
|
+
|
4
12
|
Version 1.0.0.beta.2
|
5
13
|
--------------------
|
6
14
|
|
data/README.md
CHANGED
@@ -9,24 +9,38 @@ application.
|
|
9
9
|
## Install
|
10
10
|
|
11
11
|
```sh
|
12
|
-
$ gem install stormpath-sdk
|
12
|
+
$ gem install stormpath-sdk --pre
|
13
13
|
```
|
14
14
|
|
15
|
-
##
|
15
|
+
## Provision Your Stormpath Account
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
If you have not already done so, register as a developer on
|
18
|
+
[Stormpath][stormpath] and set up your API credentials and resources:
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
1. Create a [Stormpath][stormpath] developer account and
|
21
|
+
[create your API Keys][create-api-keys] downloading the
|
22
|
+
<code>apiKey.properties</code> file into a <code>.stormpath</code>
|
23
|
+
folder under your local home directory.
|
23
24
|
|
24
|
-
|
25
|
-
|
26
|
-
|
25
|
+
1. Through the [Stormpath Admin UI][stormpath-admin-login], create yourself
|
26
|
+
an [Application Resource][concepts]. On the Create New Application
|
27
|
+
screen, make sure the "Create a new directory with this application" box
|
28
|
+
is checked. This will provision a [Directory Resource][concepts] along
|
29
|
+
with your new Application Resource and link the Directory to the
|
30
|
+
Application as a [Login Source][concepts]. This will allow users
|
31
|
+
associated with that Directory Resource to authenticate and have access
|
32
|
+
to that Application Resource.
|
27
33
|
|
28
|
-
|
29
|
-
|
34
|
+
It is important to note that although your developer account comes with
|
35
|
+
a built-in Application Resource (called "Stormpath") - you will still
|
36
|
+
need to provision a separate Application Resource.
|
37
|
+
|
38
|
+
1. Take note of the _REST URL_ of the Application you just created. Your
|
39
|
+
web application will communicate with the Stormpath API in the context
|
40
|
+
of this one Application Resource (operations such as: user-creation,
|
41
|
+
authentication, etc.)
|
42
|
+
|
43
|
+
## Getting Started
|
30
44
|
|
31
45
|
1. **Require the Stormpath Ruby SDK**
|
32
46
|
|
@@ -116,7 +130,7 @@ $ gem install stormpath-sdk
|
|
116
130
|
1. **Check for account inclusion in group** by reloading the account
|
117
131
|
|
118
132
|
```ruby
|
119
|
-
account =
|
133
|
+
account = client.accounts.get account.href
|
120
134
|
is_admin = account.groups.any? { |group| group.name == 'Admins' }
|
121
135
|
```
|
122
136
|
|
@@ -198,6 +212,69 @@ Additional resources are <code>accounts</code>, <code>groups</code>,
|
|
198
212
|
<code>group_membership</code>, and the single reference to your
|
199
213
|
<code>tenant</code>.
|
200
214
|
|
215
|
+
### Creating Resources
|
216
|
+
|
217
|
+
Applications and directories can be created directly off the client.
|
218
|
+
|
219
|
+
```ruby
|
220
|
+
application = client.applications.create name: 'foo', description: 'bar'
|
221
|
+
|
222
|
+
directory = client.directories.create name: 'foo', description: 'bar'
|
223
|
+
```
|
224
|
+
|
225
|
+
### Collections
|
226
|
+
#### Search
|
227
|
+
|
228
|
+
Resource collections can be searched by a general query string or by attribute.
|
229
|
+
|
230
|
+
Passing a string to the search method will filter by any attribute on the collection:
|
231
|
+
|
232
|
+
```ruby
|
233
|
+
client.applications.search 'foo'
|
234
|
+
```
|
235
|
+
|
236
|
+
To search a specific attribute or attributes, pass a hash:
|
237
|
+
|
238
|
+
```ruby
|
239
|
+
client.applications.search name: 'foo', description: 'bar'
|
240
|
+
```
|
241
|
+
|
242
|
+
#### Pagination
|
243
|
+
|
244
|
+
Collections can be paginated using chainable Arel-like methods. <code>offset</code> is the zero-based starting index in the entire collection of the first item to return. Default is 0. <code>limit</code> is the maximum number of collection items to return for a single request. Minimum value is 1. Maximum value is 100. Default is 25.
|
245
|
+
|
246
|
+
```ruby
|
247
|
+
client.applications.offset(10).limit(100).each do |application|
|
248
|
+
# do something
|
249
|
+
end
|
250
|
+
```
|
251
|
+
|
252
|
+
#### Order
|
253
|
+
|
254
|
+
Collections can be ordered. In the following example, a paginated collection is ordered.
|
255
|
+
|
256
|
+
```ruby
|
257
|
+
client.applications.offset(10).limit(100).order('name asc,description desc')
|
258
|
+
```
|
259
|
+
|
260
|
+
#### Entity Expansion
|
261
|
+
|
262
|
+
A resource's children can be eager loaded by passing the entity expansion object as the second argument to a call to <code>get</code>.
|
263
|
+
|
264
|
+
```ruby
|
265
|
+
expansion = Stormpath::Resource::Expansion.new 'groups', 'group_memberships'
|
266
|
+
client.accounts.get account.href, expansion
|
267
|
+
```
|
268
|
+
|
269
|
+
<code>limit</code> and <code>offset</code> can be specified for each child resource by calling <code>add_property</code>.
|
270
|
+
|
271
|
+
```ruby
|
272
|
+
expansion = Stormpath::Resource::Expansion.new
|
273
|
+
expansion.add_property 'groups', offset: 5, limit: 10
|
274
|
+
|
275
|
+
client.accounts.get account.href, expansion
|
276
|
+
```
|
277
|
+
|
201
278
|
### Registering Accounts
|
202
279
|
|
203
280
|
Accounts are created on a directory instance. They can be created in two
|
@@ -463,3 +540,7 @@ For additional information, please see the full [Project Documentation](https://
|
|
463
540
|
[stormpath]: http://stormpath.com/
|
464
541
|
[create-api-keys]: http://www.stormpath.com/docs/ruby/product-guide#AssignAPIkeys
|
465
542
|
[stormpath_bootstrap]: https://github.com/stormpath/stormpath-sdk-ruby/wiki/Bootstrapping-Stormpath
|
543
|
+
[rubygems-installation-docs]: http://docs.rubygems.org/read/chapter/3
|
544
|
+
[stormpath-admin-login]: http://api.stormpath.com/login
|
545
|
+
[create-api-keys]: http://www.stormpath.com/docs/ruby/product-guide#AssignAPIkeys
|
546
|
+
[concepts]: http://www.stormpath.com/docs/stormpath-basics#keyConcepts
|
@@ -58,7 +58,9 @@ class Stormpath::DataStore
|
|
58
58
|
instantiate clazz, data.to_hash
|
59
59
|
end
|
60
60
|
|
61
|
-
def create(parent_href, resource, return_type)
|
61
|
+
def create(parent_href, resource, return_type, options = {})
|
62
|
+
#TODO assuming there is no ? in url
|
63
|
+
parent_href = "#{parent_href}?#{URI.encode_www_form(options)}" unless options.empty?
|
62
64
|
save_resource(parent_href, resource, return_type).tap do |returned_resource|
|
63
65
|
if resource.kind_of? return_type
|
64
66
|
resource.set_properties to_hash(returned_resource)
|
@@ -50,14 +50,14 @@ module Stormpath
|
|
50
50
|
|
51
51
|
collection.class_eval do
|
52
52
|
if can.include? :create
|
53
|
-
def create(properties_or_resource)
|
53
|
+
def create(properties_or_resource, options = {})
|
54
54
|
resource = case properties_or_resource
|
55
55
|
when Stormpath::Resource::Base
|
56
56
|
properties_or_resource
|
57
57
|
else
|
58
58
|
item_class.new properties_or_resource, client
|
59
59
|
end
|
60
|
-
data_store.create href, resource, item_class
|
60
|
+
data_store.create href, resource, item_class, options
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
data/spec/client_spec.rb
CHANGED
@@ -431,25 +431,121 @@ properties
|
|
431
431
|
end
|
432
432
|
|
433
433
|
describe '.create' do
|
434
|
+
let(:application_name) { 'Client Application Create Test' }
|
435
|
+
|
434
436
|
let(:application_attributes) do
|
435
437
|
{
|
436
|
-
name:
|
438
|
+
name: application_name,
|
437
439
|
description: 'A test description'
|
438
440
|
}
|
439
441
|
end
|
440
442
|
|
441
|
-
|
442
|
-
|
443
|
-
|
443
|
+
context do
|
444
|
+
let(:application) do
|
445
|
+
test_api_client.applications.create application_attributes
|
446
|
+
end
|
444
447
|
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
448
|
+
it 'creates that application' do
|
449
|
+
expect(application).to be
|
450
|
+
expect(application.name).to eq(application_attributes[:name])
|
451
|
+
expect(application.description).to eq(application_attributes[:description])
|
452
|
+
end
|
453
|
+
|
454
|
+
after do
|
455
|
+
application.delete
|
456
|
+
end
|
449
457
|
end
|
450
458
|
|
451
|
-
|
452
|
-
application.
|
459
|
+
describe 'auto directory creation' do
|
460
|
+
let(:application) { test_api_client.applications.create application_attributes, options }
|
461
|
+
|
462
|
+
let(:directories) do
|
463
|
+
test_api_client.directories
|
464
|
+
end
|
465
|
+
|
466
|
+
context 'login source' do
|
467
|
+
let(:options) { { createDirectory: true } }
|
468
|
+
|
469
|
+
let!(:account) do
|
470
|
+
application.accounts.create(
|
471
|
+
given_name: 'John',
|
472
|
+
surname: 'Smith 2',
|
473
|
+
email: 'john.smith2@example.com',
|
474
|
+
username: 'johnsmith2',
|
475
|
+
password: '4P@$$w0rd!'
|
476
|
+
)
|
477
|
+
end
|
478
|
+
|
479
|
+
before { application }
|
480
|
+
|
481
|
+
it 'serves as the accounts store and login source' do
|
482
|
+
auth_request = Stormpath::Authentication::UsernamePasswordRequest.new 'johnsmith2', '4P@$$w0rd!'
|
483
|
+
auth_result = application.authenticate_account auth_request
|
484
|
+
expect(account).to eq(auth_result.account)
|
485
|
+
end
|
486
|
+
end
|
487
|
+
|
488
|
+
context 'with directory: true' do
|
489
|
+
let(:options) { { createDirectory: true } }
|
490
|
+
|
491
|
+
it 'creates directory named by appending "Directory" to app name' do
|
492
|
+
application
|
493
|
+
expect(directories.map(&:name)).to include("#{application_name} Directory")
|
494
|
+
end
|
495
|
+
|
496
|
+
context 'and existing directory' do
|
497
|
+
it 'resolves naming conflict by adding (n) to directory name' do
|
498
|
+
test_api_client.directories.each { |d| d.delete if "#{application_name} Directory" == d.name }
|
499
|
+
test_api_client.directories.create({name: "#{application_name} Directory"})
|
500
|
+
application
|
501
|
+
expect(directories.map(&:name)).to include("#{application_name} Directory (2)")
|
502
|
+
end
|
503
|
+
end
|
504
|
+
end
|
505
|
+
|
506
|
+
context 'with directory: "Client Application Create Test Directory"' do
|
507
|
+
let(:options) { { createDirectory: true } }
|
508
|
+
|
509
|
+
before { application }
|
510
|
+
|
511
|
+
#fails with Stormpath::Error: Authentication required.
|
512
|
+
it 'creates directory named "Client Application Create Test Directory"' do
|
513
|
+
expect(directories.map(&:name)).to include("#{application_name} Directory")
|
514
|
+
end
|
515
|
+
|
516
|
+
it 'resolves naming conflict with existing directory throwing Stormpath::Error with status 409 and code 5010'
|
517
|
+
end
|
518
|
+
|
519
|
+
context 'with directory: ""' do
|
520
|
+
let(:options) { { createDirectory: '' } }
|
521
|
+
|
522
|
+
it 'throws Stormpath::Error with status 400 and code 2000', skip_cleanup: true do
|
523
|
+
expect { application }.to raise_error { |error|
|
524
|
+
expect(error).to be_a(Stormpath::Error)
|
525
|
+
expect(error.status).to eq(400)
|
526
|
+
expect(error.code).to eq(2000)
|
527
|
+
}
|
528
|
+
end
|
529
|
+
end
|
530
|
+
|
531
|
+
context 'with directory: false' do
|
532
|
+
let(:options) { { createDirectory: false } }
|
533
|
+
|
534
|
+
before { application }
|
535
|
+
|
536
|
+
it 'creates no directory' do
|
537
|
+
expect(directories.map(&:name)).not_to include("#{application_name} Directory")
|
538
|
+
end
|
539
|
+
end
|
540
|
+
|
541
|
+
after(:each) do
|
542
|
+
unless example.metadata[:skip_cleanup]
|
543
|
+
application.delete
|
544
|
+
test_api_client.directories.each do |d|
|
545
|
+
d.delete if ["#{application_name} Directory", "#{application_name} Directory (2)", "#{application_name} Directory Custom"].include?(d.name)
|
546
|
+
end
|
547
|
+
end
|
548
|
+
end
|
453
549
|
end
|
454
550
|
end
|
455
551
|
end
|
data/stormpath-sdk.gemspec
CHANGED
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_development_dependency 'rspec-core', '~> 2.14rc1'
|
26
26
|
s.add_development_dependency 'rspec-expectations', '~> 2.14rc1'
|
27
27
|
s.add_development_dependency 'rspec-mocks', '~> 2.14rc1'
|
28
|
+
s.add_development_dependency 'guard-rspec', '~> 3.0.3'
|
28
29
|
s.add_development_dependency 'rack', '~> 1.4.1'
|
29
30
|
s.add_development_dependency 'webmock', '~> 1.11.0'
|
30
31
|
s.add_development_dependency 'simplecov', '~> 0.7.1'
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stormpath-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.beta.
|
5
|
-
prerelease: 6
|
4
|
+
version: 1.0.0.beta.3.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Elder Crisostomo
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-09-25 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: multi_json
|
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: :runtime
|
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: httpclient
|
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: :runtime
|
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: uuidtools
|
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: :runtime
|
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: activesupport
|
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: :runtime
|
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,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: properties-ruby
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ~>
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :runtime
|
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
|
@@ -94,7 +83,6 @@ dependencies:
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: java_properties
|
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: :runtime
|
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: rake
|
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: rspec-core
|
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: :development
|
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: rspec-expectations
|
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: :development
|
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,7 +139,6 @@ dependencies:
|
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: rspec-mocks
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
143
|
- - ~>
|
164
144
|
- !ruby/object:Gem::Version
|
@@ -166,15 +146,27 @@ dependencies:
|
|
166
146
|
type: :development
|
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
152
|
version: 2.14rc1
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: guard-rspec
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ~>
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 3.0.3
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ~>
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 3.0.3
|
174
167
|
- !ruby/object:Gem::Dependency
|
175
168
|
name: rack
|
176
169
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
170
|
requirements:
|
179
171
|
- - ~>
|
180
172
|
- !ruby/object:Gem::Version
|
@@ -182,7 +174,6 @@ dependencies:
|
|
182
174
|
type: :development
|
183
175
|
prerelease: false
|
184
176
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
177
|
requirements:
|
187
178
|
- - ~>
|
188
179
|
- !ruby/object:Gem::Version
|
@@ -190,7 +181,6 @@ dependencies:
|
|
190
181
|
- !ruby/object:Gem::Dependency
|
191
182
|
name: webmock
|
192
183
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
184
|
requirements:
|
195
185
|
- - ~>
|
196
186
|
- !ruby/object:Gem::Version
|
@@ -198,7 +188,6 @@ dependencies:
|
|
198
188
|
type: :development
|
199
189
|
prerelease: false
|
200
190
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
191
|
requirements:
|
203
192
|
- - ~>
|
204
193
|
- !ruby/object:Gem::Version
|
@@ -206,7 +195,6 @@ dependencies:
|
|
206
195
|
- !ruby/object:Gem::Dependency
|
207
196
|
name: simplecov
|
208
197
|
requirement: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
198
|
requirements:
|
211
199
|
- - ~>
|
212
200
|
- !ruby/object:Gem::Version
|
@@ -214,7 +202,6 @@ dependencies:
|
|
214
202
|
type: :development
|
215
203
|
prerelease: false
|
216
204
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
none: false
|
218
205
|
requirements:
|
219
206
|
- - ~>
|
220
207
|
- !ruby/object:Gem::Version
|
@@ -222,7 +209,6 @@ dependencies:
|
|
222
209
|
- !ruby/object:Gem::Dependency
|
223
210
|
name: pry
|
224
211
|
requirement: !ruby/object:Gem::Requirement
|
225
|
-
none: false
|
226
212
|
requirements:
|
227
213
|
- - ~>
|
228
214
|
- !ruby/object:Gem::Version
|
@@ -230,7 +216,6 @@ dependencies:
|
|
230
216
|
type: :development
|
231
217
|
prerelease: false
|
232
218
|
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
none: false
|
234
219
|
requirements:
|
235
220
|
- - ~>
|
236
221
|
- !ruby/object:Gem::Version
|
@@ -238,7 +223,6 @@ dependencies:
|
|
238
223
|
- !ruby/object:Gem::Dependency
|
239
224
|
name: pry-debugger
|
240
225
|
requirement: !ruby/object:Gem::Requirement
|
241
|
-
none: false
|
242
226
|
requirements:
|
243
227
|
- - ~>
|
244
228
|
- !ruby/object:Gem::Version
|
@@ -246,7 +230,6 @@ dependencies:
|
|
246
230
|
type: :development
|
247
231
|
prerelease: false
|
248
232
|
version_requirements: !ruby/object:Gem::Requirement
|
249
|
-
none: false
|
250
233
|
requirements:
|
251
234
|
- - ~>
|
252
235
|
- !ruby/object:Gem::Version
|
@@ -254,7 +237,6 @@ dependencies:
|
|
254
237
|
- !ruby/object:Gem::Dependency
|
255
238
|
name: pry-stack_explorer
|
256
239
|
requirement: !ruby/object:Gem::Requirement
|
257
|
-
none: false
|
258
240
|
requirements:
|
259
241
|
- - ~>
|
260
242
|
- !ruby/object:Gem::Version
|
@@ -262,7 +244,6 @@ dependencies:
|
|
262
244
|
type: :development
|
263
245
|
prerelease: false
|
264
246
|
version_requirements: !ruby/object:Gem::Requirement
|
265
|
-
none: false
|
266
247
|
requirements:
|
267
248
|
- - ~>
|
268
249
|
- !ruby/object:Gem::Version
|
@@ -270,7 +251,6 @@ dependencies:
|
|
270
251
|
- !ruby/object:Gem::Dependency
|
271
252
|
name: vcr
|
272
253
|
requirement: !ruby/object:Gem::Requirement
|
273
|
-
none: false
|
274
254
|
requirements:
|
275
255
|
- - ~>
|
276
256
|
- !ruby/object:Gem::Version
|
@@ -278,7 +258,6 @@ dependencies:
|
|
278
258
|
type: :development
|
279
259
|
prerelease: false
|
280
260
|
version_requirements: !ruby/object:Gem::Requirement
|
281
|
-
none: false
|
282
261
|
requirements:
|
283
262
|
- - ~>
|
284
263
|
- !ruby/object:Gem::Version
|
@@ -286,7 +265,6 @@ dependencies:
|
|
286
265
|
- !ruby/object:Gem::Dependency
|
287
266
|
name: timecop
|
288
267
|
requirement: !ruby/object:Gem::Requirement
|
289
|
-
none: false
|
290
268
|
requirements:
|
291
269
|
- - ~>
|
292
270
|
- !ruby/object:Gem::Version
|
@@ -294,7 +272,6 @@ dependencies:
|
|
294
272
|
type: :development
|
295
273
|
prerelease: false
|
296
274
|
version_requirements: !ruby/object:Gem::Requirement
|
297
|
-
none: false
|
298
275
|
requirements:
|
299
276
|
- - ~>
|
300
277
|
- !ruby/object:Gem::Version
|
@@ -302,7 +279,6 @@ dependencies:
|
|
302
279
|
- !ruby/object:Gem::Dependency
|
303
280
|
name: redis
|
304
281
|
requirement: !ruby/object:Gem::Requirement
|
305
|
-
none: false
|
306
282
|
requirements:
|
307
283
|
- - ~>
|
308
284
|
- !ruby/object:Gem::Version
|
@@ -310,7 +286,6 @@ dependencies:
|
|
310
286
|
type: :development
|
311
287
|
prerelease: false
|
312
288
|
version_requirements: !ruby/object:Gem::Requirement
|
313
|
-
none: false
|
314
289
|
requirements:
|
315
290
|
- - ~>
|
316
291
|
- !ruby/object:Gem::Version
|
@@ -392,6 +367,7 @@ files:
|
|
392
367
|
- support/api.rb
|
393
368
|
homepage: https://github.com/stormpath/stormpath-sdk-ruby
|
394
369
|
licenses: []
|
370
|
+
metadata: {}
|
395
371
|
post_install_message:
|
396
372
|
rdoc_options:
|
397
373
|
- --line-numbers
|
@@ -402,21 +378,19 @@ rdoc_options:
|
|
402
378
|
require_paths:
|
403
379
|
- lib
|
404
380
|
required_ruby_version: !ruby/object:Gem::Requirement
|
405
|
-
none: false
|
406
381
|
requirements:
|
407
382
|
- - ! '>='
|
408
383
|
- !ruby/object:Gem::Version
|
409
384
|
version: '0'
|
410
385
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
411
|
-
none: false
|
412
386
|
requirements:
|
413
387
|
- - ! '>'
|
414
388
|
- !ruby/object:Gem::Version
|
415
389
|
version: 1.3.1
|
416
390
|
requirements: []
|
417
391
|
rubyforge_project:
|
418
|
-
rubygems_version: 1.
|
392
|
+
rubygems_version: 2.1.5
|
419
393
|
signing_key:
|
420
|
-
specification_version:
|
394
|
+
specification_version: 4
|
421
395
|
summary: Stormpath SDK
|
422
396
|
test_files: []
|