stormpath-sdk 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES.md CHANGED
@@ -1,6 +1,23 @@
1
1
  stormpath-sdk-ruby Changelog
2
2
  ====================
3
3
 
4
+ Version 0.4.0
5
+ -------------
6
+
7
+ Released on October 26, 2012
8
+
9
+ - The Stormpath::Resource::GroupMembership class now extends the Stormpath::Resource::Resource class. It is no longer possible to call 'save' on an instance of this class.
10
+ - The 'create' method of the Stormpath::Resource::GroupMembership class is now a class method and receives an instance of Stormpath::DataStore::DataStore; it was renamed from 'create' to '_create'.
11
+ - The 'add_group' method implementation of the Stormpath::Resource::Account class was updated to reflect the previously mentioned changes.
12
+ - The 'add_account' method implementation of the Stormpath::Resource::Group class was updated to reflect the previously mentioned changes.
13
+ - The 'set_account' and 'set_group' methods were removed from the Stormpath::Resource::GroupMembership class.
14
+ - The 'get_account' method implementation of Stormpath::Authentication::AuthenticationResult changed to use the Account's fully qualified name.
15
+ - The 'build' method implementation of Stormpath::Client::ClientApplicationBuilder changed to use the Application's fully qualified name.
16
+ - The 'save', 'delete' and 'save_resource' methods implementations of Stormpath::DataStore::DataStore were changed to receive the Resource's fully qualified name in the 'assert_kind_of' method calls.
17
+ - The 'authenticate' method implementation of Stormpath::Authentication::BasicAuthenticator was changed to replace 'password' variable's Array to String conversion from 'to_s' to 'join'.
18
+ - The 'to_class_from_instance' method implementation was completely changed to use activesupport's 'constantize' method, and to enable caching of the already "constantized" values.
19
+
20
+
4
21
  Version 0.3.0
5
22
  -------------
6
23
 
data/lib/stormpath-sdk.rb CHANGED
@@ -6,6 +6,7 @@ require "open-uri"
6
6
  require "uri"
7
7
  require "uuidtools"
8
8
  require "yaml"
9
+ require "active_support"
9
10
 
10
11
  require "stormpath-sdk/version" unless defined? Stormpath::VERSION
11
12
  require "stormpath-sdk/util/assert"
@@ -22,7 +22,7 @@ module Stormpath
22
22
  ACCOUNT = "account"
23
23
 
24
24
  def get_account
25
- get_resource_property ACCOUNT, Account
25
+ get_resource_property ACCOUNT, Stormpath::Resource::Account
26
26
  end
27
27
 
28
28
  end
@@ -34,7 +34,7 @@ module Stormpath
34
34
  username = (username != nil) ? username : ''
35
35
 
36
36
  password = request.get_credentials
37
- pw_string = password.to_s
37
+ pw_string = password.join
38
38
 
39
39
  value = username + ':' + pw_string
40
40
 
@@ -295,7 +295,7 @@ module Stormpath
295
295
 
296
296
  client = build_client
297
297
 
298
- application = client.data_store.get_resource cleaned_href, Application
298
+ application = client.data_store.get_resource cleaned_href, Stormpath::Resource::Application
299
299
 
300
300
  ClientApplication.new client, application
301
301
 
@@ -319,7 +319,7 @@ module Stormpath
319
319
  parts = Array.new 3
320
320
 
321
321
  parts[0] = href[0..double_slash_index + 1] #up to and including the double slash
322
- parts[1] = href[double_slash_index + DOUBLE_SLASH.length..at_sign_index -1] #raw user info
322
+ parts[1] = href[double_slash_index + DOUBLE_SLASH.length..at_sign_index - 1] #raw user info
323
323
  parts[2] = href[at_sign_index + 1..href.length - 1] #after the @ character
324
324
 
325
325
  parts
@@ -70,7 +70,7 @@ module Stormpath
70
70
 
71
71
  def save resource, *clazz
72
72
  assert_not_nil resource, "resource argument cannot be null."
73
- assert_kind_of Resource, resource, "resource argument must be instance of Resource"
73
+ assert_kind_of Stormpath::Resource::Resource, resource, "resource argument must be instance of Stormpath::Resource::Resource"
74
74
 
75
75
  href = resource.get_href
76
76
  assert_true href.length > 0, "save may only be called on objects that have already been persisted (i.e. they have an existing href)."
@@ -93,7 +93,7 @@ module Stormpath
93
93
  def delete resource
94
94
 
95
95
  assert_not_nil resource, "resource argument cannot be null."
96
- assert_kind_of Resource, resource, "resource argument must be instance of Resource"
96
+ assert_kind_of Stormpath::Resource::Resource, resource, "resource argument must be instance of Stormpath::Resource::Resource"
97
97
 
98
98
  execute_request('delete', resource.get_href, nil)
99
99
 
@@ -148,7 +148,7 @@ module Stormpath
148
148
 
149
149
  assert_not_nil resource, "resource argument cannot be null."
150
150
  assert_not_nil return_type, "returnType class cannot be null."
151
- assert_kind_of Resource, resource, "resource argument must be instance of Resource"
151
+ assert_kind_of Stormpath::Resource::Resource, resource, "resource argument must be instance of Stormpath::Resource::Resource"
152
152
 
153
153
  q_href = href
154
154
 
@@ -37,6 +37,7 @@ module Stormpath
37
37
  SAUTHC1_SIGNATURE = "sauthc1Signature"
38
38
  DATE_FORMAT = "%Y%m%d"
39
39
  TIMESTAMP_FORMAT = "%Y%m%dT%H%M%SZ"
40
+ #noinspection RubyConstantNamingConvention
40
41
  NL = "\n"
41
42
 
42
43
  def sign_request request, api_key
@@ -109,8 +109,7 @@ module Stormpath
109
109
 
110
110
  def add_group group
111
111
 
112
- group_membership = data_store.instantiate GroupMembership, nil
113
- group_membership.create self, group
112
+ GroupMembership::_create self, group, data_store
114
113
 
115
114
  end
116
115
 
@@ -76,8 +76,7 @@ module Stormpath
76
76
 
77
77
  def add_account account
78
78
 
79
- group_membership = data_store.instantiate GroupMembership, nil
80
- group_membership.create account, self
79
+ GroupMembership::_create account, self, data_store
81
80
 
82
81
  end
83
82
 
@@ -17,7 +17,7 @@ module Stormpath
17
17
 
18
18
  module Resource
19
19
 
20
- class GroupMembership < InstanceResource
20
+ class GroupMembership < Resource
21
21
 
22
22
  ACCOUNT = "account"
23
23
  GROUP = "group"
@@ -26,19 +26,25 @@ module Stormpath
26
26
  get_resource_property ACCOUNT, Account
27
27
  end
28
28
 
29
- def set_account account
30
- set_property ACCOUNT, account
31
- end
32
-
33
29
  def get_group
34
30
  get_resource_property GROUP, Group
35
31
  end
36
32
 
37
- def set_group group
38
- set_property GROUP, group
33
+ def delete
34
+ data_store.delete self
39
35
  end
40
36
 
41
- def create account, group
37
+ #
38
+ # THIS IS NOT PART OF THE STORMPATH PUBLIC API. SDK end-users should not call it - it could be removed or
39
+ # changed at any time. It is publicly accessible only as an implementation technique to be used by other
40
+ # resource classes.
41
+ #
42
+ # @param account the account to associate with the group.
43
+ # @param group the group which will contain the account.
44
+ # @param data_store the datastore used to create the membership
45
+ # @return the created GroupMembership instance.
46
+ #
47
+ def self._create account, group, data_store
42
48
 
43
49
  #TODO: enable auto discovery
44
50
  href = "/groupMemberships"
@@ -59,10 +65,6 @@ module Stormpath
59
65
 
60
66
  end
61
67
 
62
- def delete
63
- data_store.delete self
64
- end
65
-
66
68
  end
67
69
 
68
70
  end
@@ -49,7 +49,7 @@ module Stormpath
49
49
 
50
50
  # Don't consider this resource materialized if it is only a reference. A reference is any object that
51
51
  # has only one 'href' property.
52
- href_only = @properties.size == 1 and @properties.has_key? HREF_PROP_NAME
52
+ href_only = (@properties.size == 1 and @properties.has_key? HREF_PROP_NAME)
53
53
  @materialized = !href_only
54
54
 
55
55
  else
@@ -19,12 +19,23 @@ module Stormpath
19
19
 
20
20
  module Utils
21
21
 
22
+ include ActiveSupport::Inflector
23
+ include Stormpath::Util::Assert
24
+
25
+ @@resources_hash = Hash.new
26
+
22
27
  def to_class_from_instance resource
23
28
 
24
- if resource.kind_of? Resource
25
- clazz = Kernel.const_get resource.class.name.split('::').last
29
+ assert_kind_of Resource, resource, "resource argument must be instance of Stormpath::Resource::Resource"
30
+
31
+ if !@@resources_hash.has_key? resource.class.name
32
+
33
+ @@resources_hash[resource.class.name] = constantize resource.class.name
34
+
26
35
  end
27
- clazz
36
+
37
+ @@resources_hash[resource.class.name]
38
+
28
39
  end
29
40
  end
30
41
  end
@@ -14,6 +14,6 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  module Stormpath
17
- VERSION = '0.3.0'
18
- VERSION_DATE = '2012-08-31'
17
+ VERSION = '0.4.0'
18
+ VERSION_DATE = '2012-10-26'
19
19
  end
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.add_dependency('multi_json', '>= 1.3.6')
19
19
  s.add_dependency('httpclient', '>= 2.2.5')
20
20
  s.add_dependency('uuidtools', '>= 2.1.3')
21
+ s.add_dependency('activesupport', '>= 3.2.8')
21
22
 
22
23
  s.add_development_dependency 'rake', '~> 0.9.2'
23
24
  s.add_development_dependency 'rspec-core', '~> 2.10.1'
@@ -7,9 +7,9 @@ describe "Client Application Builder Tests" do
7
7
  before(:all) do
8
8
  @client_file = 'test/client/client.yml'
9
9
  @client_remote_file = 'http://localhost:8081/client.yml'
10
- @application_href = 'http://localhost:8080/v1/applications/A0atUpZARYGApaN5f88O3A'
10
+ @application_href = 'http://localhost:8080/v1/applications/uGBNDZ7TRhm_tahanqvn9A'
11
11
  @http_prefix = 'http://'
12
- @app_href_without_http = '@localhost:8080/v1/applications/A0atUpZARYGApaN5f88O3A'
12
+ @app_href_without_http = '@localhost:8080/v1/applications/uGBNDZ7TRhm_tahanqvn9A'
13
13
  @client_builder = ClientBuilder.new.set_base_url 'http://localhost:8080/v1'
14
14
  @test_remote_file = false
15
15
  end
@@ -6,8 +6,7 @@ include Stormpath::Resource
6
6
  describe "READ Operations" do
7
7
 
8
8
  before(:all) do
9
- apiKey = ApiKey.new 'myApkiKeyId', 'myApkiKeySecret'
10
- @client = Client.new apiKey
9
+ @client = ClientBuilder.new.set_base_url('http://localhost:8080/v1').set_api_key_file_location(Dir.home + '/.stormpath/apiKey.yml').build
11
10
  @tenant = @client.current_tenant
12
11
  @data_store = @client.data_store
13
12
  end
@@ -62,7 +61,7 @@ describe "READ Operations" do
62
61
 
63
62
  it "application's properties must come complete'" do
64
63
 
65
- href = 'applications/fzyWJ5V_SDORGPk4fT2jhA'
64
+ href = 'applications/uGBNDZ7TRhm_tahanqvn9A'
66
65
  application = @data_store.get_resource href, Application
67
66
 
68
67
  application.should be_kind_of Application
@@ -72,14 +71,12 @@ describe "READ Operations" do
72
71
  description = application.get_description
73
72
  tenant = application.get_tenant
74
73
  accounts = application.get_accounts
75
- password_reset_tokens = application.get_password_reset_token
76
74
 
77
75
  name.should be_kind_of String
78
76
  status.should be_kind_of String
79
77
  description.should be_kind_of String
80
78
  tenant.should be_kind_of Tenant
81
79
  accounts.should be_kind_of AccountList
82
- password_reset_tokens.should be_kind_of PasswordResetToken
83
80
 
84
81
  accounts.each { |acc|
85
82
 
@@ -97,7 +94,7 @@ describe "READ Operations" do
97
94
 
98
95
  it "directory's properties must come complete'" do
99
96
 
100
- href = 'directories/wDTY5jppTLS2uZEAcqaL5A'
97
+ href = 'directories/jDd1xnMYTdqP-L-m6UD1Vg'
101
98
  directory = @data_store.get_resource href, Directory
102
99
 
103
100
  directory.should be_kind_of Directory
@@ -143,7 +140,7 @@ describe "READ Operations" do
143
140
 
144
141
  it "group's properties must come complete'" do
145
142
 
146
- href = 'groups/mCidbrAcSF-VpkNfOVvJkQ'
143
+ href = 'groups/E_D6HFfxSFmP0wIRvvvMUA'
147
144
  group = @data_store.get_resource href, Group
148
145
 
149
146
  group.should be_kind_of Group
@@ -178,7 +175,7 @@ describe "READ Operations" do
178
175
 
179
176
  it "account's properties must come complete'" do
180
177
 
181
- href = 'accounts/ije9hUEKTZ29YcGhdG5s2A'
178
+ href = 'accounts/AnUd9aE_RKq-v8QJfrjq0A'
182
179
  account = @data_store.get_resource href, Account
183
180
 
184
181
  account.should be_kind_of Account
@@ -203,7 +200,8 @@ describe "READ Operations" do
203
200
  surname.should be_kind_of String
204
201
  groups.should be_kind_of GroupList
205
202
  directory.should be_kind_of Directory
206
- email_verification_token.should be_kind_of EmailVerificationToken
203
+ # email_verification_token may not be present
204
+ #email_verification_token.should be_kind_of EmailVerificationToken
207
205
  group_memberships.should be_kind_of GroupMembershipList
208
206
 
209
207
  groups.each { |group|
@@ -239,7 +237,7 @@ describe "READ Operations" do
239
237
 
240
238
  it "dirty properties must be retained after materialization" do
241
239
 
242
- account = @data_store.instantiate Account, {'href' => 'accounts/gJH4bh6QQKK0awRmwD72Cg'}
240
+ account = @data_store.instantiate Account, {'href' => 'accounts/AnUd9aE_RKq-v8QJfrjq0A'}
243
241
 
244
242
  name = 'Name Before Materialization'
245
243
 
@@ -1,12 +1,13 @@
1
1
  require "stormpath-sdk"
2
2
 
3
+ include Stormpath::Client
4
+ include Stormpath::Resource
3
5
  include Stormpath::Authentication
4
6
 
5
7
  describe "WRITE Operations" do
6
8
 
7
9
  before(:all) do
8
- apiKey = ApiKey.new 'myApkiKeyId', 'myApkiKeySecret'
9
- @client = Client.new apiKey
10
+ @client = ClientBuilder.new.set_base_url('http://localhost:8080/v1').set_api_key_file_location(Dir.home + '/.stormpath/apiKey.yml').build
10
11
  @data_store = @client.data_store
11
12
  @create_account = false
12
13
  @update_account = false
@@ -27,7 +28,7 @@ describe "WRITE Operations" do
27
28
 
28
29
  it "application should be able to authenticate" do
29
30
 
30
- href = 'applications/A0atUpZARYGApaN5f88O3A'
31
+ href = 'applications/uGBNDZ7TRhm_tahanqvn9A'
31
32
  application = @data_store.get_resource href, Application
32
33
 
33
34
  result = application.authenticate_account UsernamePasswordRequest.new 'kentucky', 'super_P4ss'
@@ -41,7 +42,7 @@ describe "WRITE Operations" do
41
42
 
42
43
  begin
43
44
 
44
- href = 'applications/A0atUpZARYGApaN5f88O3A'
45
+ href = 'applications/uGBNDZ7TRhm_tahanqvn9A'
45
46
  application = @data_store.get_resource href, Application
46
47
  result = application.authenticate_account UsernamePasswordRequest.new 'kentucky', 'WRONG_PASS'
47
48
 
@@ -61,7 +62,7 @@ describe "WRITE Operations" do
61
62
 
62
63
  if (@create_account)
63
64
 
64
- href = 'directories/_oIg8zU5QWyiz22DcVYVLg'
65
+ href = 'directories/jDd1xnMYTdqP-L-m6UD1Vg'
65
66
  directory = @data_store.get_resource href, Directory
66
67
 
67
68
  account = @data_store.instantiate Account
@@ -83,7 +84,7 @@ describe "WRITE Operations" do
83
84
 
84
85
  if (@update_account)
85
86
 
86
- href = 'accounts/ije9hUEKTZ29YcGhdG5s2A'
87
+ href = 'accounts/RpB0hBFVSTmoLZTqHlwBRg'
87
88
  account = @data_store.get_resource href, Account
88
89
 
89
90
  mod_value = 'Modified at: ' + Time.now.to_s
@@ -214,7 +215,7 @@ describe "WRITE Operations" do
214
215
 
215
216
  if (@send_password_reset_email)
216
217
 
217
- href = 'applications/fzyWJ5V_SDORGPk4fT2jhA'
218
+ href = 'applications/uGBNDZ7TRhm_tahanqvn9A'
218
219
  application = @data_store.get_resource href, Application
219
220
 
220
221
  result = application.send_password_reset_email 'rubysdk@email.com'
@@ -318,10 +319,10 @@ describe "WRITE Operations" do
318
319
 
319
320
  if (@create_group_membership_from_account)
320
321
 
321
- group_href = 'groups/mCidbrAcSF-VpkNfOVvJkQ'
322
+ group_href = 'groups/0I5wmUILTvqHraXLERE9fw'
322
323
  group = @data_store.get_resource group_href, Group
323
324
 
324
- account_href = 'accounts/ije9hUEKTZ29YcGhdG5s2A'
325
+ account_href = 'accounts/RpB0hBFVSTmoLZTqHlwBRg'
325
326
  account = @data_store.get_resource account_href, Account
326
327
 
327
328
  account.add_group group
@@ -348,10 +349,10 @@ describe "WRITE Operations" do
348
349
 
349
350
  if (@create_group_membership_from_group)
350
351
 
351
- group_href = 'groups/mCidbrAcSF-VpkNfOVvJkQ'
352
+ group_href = 'groups/E_D6HFfxSFmP0wIRvvvMUA'
352
353
  group = @data_store.get_resource group_href, Group
353
354
 
354
- account_href = 'accounts/ije9hUEKTZ29YcGhdG5s2A'
355
+ account_href = 'accounts/RpB0hBFVSTmoLZTqHlwBRg'
355
356
  account = @data_store.get_resource account_href, Account
356
357
 
357
358
  group.add_account account
@@ -375,13 +376,12 @@ describe "WRITE Operations" do
375
376
 
376
377
  if (@update_group_membership_with_deletion)
377
378
 
378
- group_href = 'groups/mCidbrAcSF-VpkNfOVvJkQ'
379
+ group_href = 'groups/0I5wmUILTvqHraXLERE9fw'
379
380
  group = @data_store.get_resource group_href, Group
380
381
 
381
- account_href = 'accounts/ije9hUEKTZ29YcGhdG5s2A'
382
+ account_href = 'accounts/RpB0hBFVSTmoLZTqHlwBRg'
382
383
  account = @data_store.get_resource account_href, Account
383
384
 
384
- group_linked = false
385
385
  group_membership = nil
386
386
  account.get_group_memberships.each { |tmp_group_membership|
387
387
 
@@ -389,16 +389,18 @@ describe "WRITE Operations" do
389
389
  tmp_group = group_membership.get_group
390
390
 
391
391
  if (!tmp_group.nil? and tmp_group.get_href.include? group_href)
392
- group_linked = true
393
392
  break
394
393
  end
395
394
  }
396
395
 
397
- if (!group_linked)
398
- group_membership.delete
399
- group.add_account account
396
+ if (group_membership.nil?)
397
+ group_membership = account.add_group group
400
398
  end
401
399
 
400
+ group_membership.delete
401
+ group.add_account account
402
+
403
+
402
404
  account.get_group_memberships.each { |tmp_group_membership|
403
405
 
404
406
  tmp_group = tmp_group_membership.get_group
metadata CHANGED
@@ -1,143 +1,166 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: stormpath-sdk
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 3
8
- - 0
9
- version: 0.3.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Elder Crisostomo
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2012-08-31 00:00:00 -07:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-10-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: multi_json
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 1
29
- - 3
30
- - 6
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
31
21
  version: 1.3.6
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: httpclient
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- segments:
42
- - 2
43
- - 2
44
- - 5
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.3.6
30
+ - !ruby/object:Gem::Dependency
31
+ name: httpclient
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
45
37
  version: 2.2.5
46
38
  type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.2.5
46
+ - !ruby/object:Gem::Dependency
49
47
  name: uuidtools
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 2.1.3
54
+ type: :runtime
50
55
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- segments:
56
- - 2
57
- - 1
58
- - 3
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
59
61
  version: 2.1.3
62
+ - !ruby/object:Gem::Dependency
63
+ name: activesupport
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 3.2.8
60
70
  type: :runtime
61
- version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: rake
64
71
  prerelease: false
65
- requirement: &id004 !ruby/object:Gem::Requirement
66
- requirements:
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 3.2.8
78
+ - !ruby/object:Gem::Dependency
79
+ name: rake
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
67
83
  - - ~>
68
- - !ruby/object:Gem::Version
69
- segments:
70
- - 0
71
- - 9
72
- - 2
84
+ - !ruby/object:Gem::Version
73
85
  version: 0.9.2
74
86
  type: :development
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: rspec-core
78
87
  prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
80
- requirements:
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.9.2
94
+ - !ruby/object:Gem::Dependency
95
+ name: rspec-core
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
81
99
  - - ~>
82
- - !ruby/object:Gem::Version
83
- segments:
84
- - 2
85
- - 10
86
- - 1
100
+ - !ruby/object:Gem::Version
87
101
  version: 2.10.1
88
102
  type: :development
89
- version_requirements: *id005
90
- - !ruby/object:Gem::Dependency
91
- name: rspec-expectations
92
103
  prerelease: false
93
- requirement: &id006 !ruby/object:Gem::Requirement
94
- requirements:
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 2.10.1
110
+ - !ruby/object:Gem::Dependency
111
+ name: rspec-expectations
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
95
115
  - - ~>
96
- - !ruby/object:Gem::Version
97
- segments:
98
- - 2
99
- - 10
100
- - 0
116
+ - !ruby/object:Gem::Version
101
117
  version: 2.10.0
102
118
  type: :development
103
- version_requirements: *id006
104
- - !ruby/object:Gem::Dependency
105
- name: rspec-mocks
106
119
  prerelease: false
107
- requirement: &id007 !ruby/object:Gem::Requirement
108
- requirements:
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 2.10.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: rspec-mocks
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
109
131
  - - ~>
110
- - !ruby/object:Gem::Version
111
- segments:
112
- - 2
113
- - 10
114
- - 1
132
+ - !ruby/object:Gem::Version
115
133
  version: 2.10.1
116
134
  type: :development
117
- version_requirements: *id007
118
- - !ruby/object:Gem::Dependency
119
- name: rack
120
135
  prerelease: false
121
- requirement: &id008 !ruby/object:Gem::Requirement
122
- requirements:
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 2.10.1
142
+ - !ruby/object:Gem::Dependency
143
+ name: rack
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
123
147
  - - ~>
124
- - !ruby/object:Gem::Version
125
- segments:
126
- - 1
127
- - 4
128
- - 1
148
+ - !ruby/object:Gem::Version
129
149
  version: 1.4.1
130
150
  type: :development
131
- version_requirements: *id008
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: 1.4.1
132
158
  description: Stormpath SDK used to interact with the Stormpath REST API
133
159
  email: elder@stormpath.com
134
160
  executables: []
135
-
136
161
  extensions: []
137
-
138
162
  extra_rdoc_files: []
139
-
140
- files:
163
+ files:
141
164
  - .gitignore
142
165
  - CHANGES.md
143
166
  - Gemfile
@@ -191,41 +214,36 @@ files:
191
214
  - test/client/write_spec.rb
192
215
  - test/resource/resource_spec.rb
193
216
  - test/resource/test_resource.rb
194
- has_rdoc: true
195
217
  homepage: https://github.com/stormpath/stormpath-sdk-ruby
196
218
  licenses: []
197
-
198
219
  post_install_message:
199
- rdoc_options:
220
+ rdoc_options:
200
221
  - --line-numbers
201
222
  - --inline-source
202
223
  - --title
203
224
  - stormpath-sdk
204
225
  - --main
205
- require_paths:
226
+ require_paths:
206
227
  - lib
207
- required_ruby_version: !ruby/object:Gem::Requirement
208
- requirements:
209
- - - ">="
210
- - !ruby/object:Gem::Version
211
- segments:
212
- - 0
213
- version: "0"
214
- required_rubygems_version: !ruby/object:Gem::Requirement
215
- requirements:
216
- - - ">="
217
- - !ruby/object:Gem::Version
218
- segments:
219
- - 0
220
- version: "0"
228
+ required_ruby_version: !ruby/object:Gem::Requirement
229
+ none: false
230
+ requirements:
231
+ - - ! '>='
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
234
+ required_rubygems_version: !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - ! '>='
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
221
240
  requirements: []
222
-
223
241
  rubyforge_project:
224
- rubygems_version: 1.3.6
242
+ rubygems_version: 1.8.24
225
243
  signing_key:
226
244
  specification_version: 3
227
245
  summary: Stormpath SDK
228
- test_files:
246
+ test_files:
229
247
  - test/client/client_application_builder_spec.rb
230
248
  - test/client/client_builder_spec.rb
231
249
  - test/client/read_spec.rb