stormpath-sdk 1.0.0.beta.2 → 1.0.0.beta.3.1
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.
- 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: []
|