stormpath-sdk 1.6.0 → 1.7.0

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.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +21 -0
  3. data/CHANGES.md +11 -0
  4. data/README.md +23 -25
  5. data/lib/stormpath-sdk.rb +11 -2
  6. data/lib/stormpath-sdk/api_key.rb +0 -1
  7. data/lib/stormpath-sdk/auth/basic_authenticator.rb +7 -7
  8. data/lib/stormpath-sdk/auth/basic_login_attempt.rb +7 -11
  9. data/lib/stormpath-sdk/auth/create_factor.rb +1 -1
  10. data/lib/stormpath-sdk/auth/register_service_provider.rb +41 -0
  11. data/lib/stormpath-sdk/auth/username_password_request.rb +3 -5
  12. data/lib/stormpath-sdk/cache/cache.rb +3 -3
  13. data/lib/stormpath-sdk/cache/cache_entry.rb +2 -2
  14. data/lib/stormpath-sdk/cache/cache_manager.rb +3 -4
  15. data/lib/stormpath-sdk/cache/cache_stats.rb +1 -3
  16. data/lib/stormpath-sdk/cache/disabled_cache_store.rb +5 -8
  17. data/lib/stormpath-sdk/cache/memory_store.rb +1 -1
  18. data/lib/stormpath-sdk/cache/redis_store.rb +4 -4
  19. data/lib/stormpath-sdk/client.rb +35 -33
  20. data/lib/stormpath-sdk/data_store.rb +278 -257
  21. data/lib/stormpath-sdk/error.rb +18 -7
  22. data/lib/stormpath-sdk/http/authc/sauthc1_signer.rb +76 -82
  23. data/lib/stormpath-sdk/http/http_client_request_executor.rb +10 -8
  24. data/lib/stormpath-sdk/http/response.rb +5 -7
  25. data/lib/stormpath-sdk/id_site/id_site_result.rb +5 -6
  26. data/lib/stormpath-sdk/oauth/access_token_authentication_result.rb +5 -9
  27. data/lib/stormpath-sdk/oauth/authenticator.rb +2 -2
  28. data/lib/stormpath-sdk/oauth/error.rb +4 -4
  29. data/lib/stormpath-sdk/oauth/id_site_grant_request.rb +1 -1
  30. data/lib/stormpath-sdk/oauth/password_grant_request.rb +1 -1
  31. data/lib/stormpath-sdk/oauth/refresh_grant_request.rb +2 -2
  32. data/lib/stormpath-sdk/oauth/stormpath_grant_request.rb +2 -2
  33. data/lib/stormpath-sdk/provider/account_access.rb +0 -2
  34. data/lib/stormpath-sdk/provider/account_result.rb +1 -2
  35. data/lib/stormpath-sdk/provider/facebook/facebook_provider.rb +6 -2
  36. data/lib/stormpath-sdk/provider/facebook/facebook_provider_data.rb +7 -3
  37. data/lib/stormpath-sdk/provider/github/github_provider.rb +6 -2
  38. data/lib/stormpath-sdk/provider/github/github_provider_data.rb +6 -2
  39. data/lib/stormpath-sdk/provider/google/google_provider.rb +7 -3
  40. data/lib/stormpath-sdk/provider/google/google_provider_data.rb +6 -2
  41. data/lib/stormpath-sdk/provider/linkedin/linkedin_provider.rb +6 -2
  42. data/lib/stormpath-sdk/provider/linkedin/linkedin_provider_data.rb +6 -2
  43. data/lib/stormpath-sdk/provider/provider.rb +8 -4
  44. data/lib/stormpath-sdk/provider/provider_data.rb +6 -2
  45. data/lib/stormpath-sdk/provider/saml/saml_provider.rb +10 -4
  46. data/lib/stormpath-sdk/provider/saml/saml_provider_data.rb +6 -3
  47. data/lib/stormpath-sdk/provider/stormpath/stormpath_provider.rb +6 -2
  48. data/lib/stormpath-sdk/provider/stormpath/stormpath_provider_data.rb +6 -2
  49. data/lib/stormpath-sdk/provider/twitter/twitter_provider.rb +6 -2
  50. data/lib/stormpath-sdk/provider/twitter/twitter_provider_data.rb +6 -2
  51. data/lib/stormpath-sdk/resource/account.rb +46 -40
  52. data/lib/stormpath-sdk/resource/account_link.rb +9 -5
  53. data/lib/stormpath-sdk/resource/account_linking_policy.rb +8 -4
  54. data/lib/stormpath-sdk/resource/account_membership.rb +1 -1
  55. data/lib/stormpath-sdk/resource/account_overrides.rb +20 -16
  56. data/lib/stormpath-sdk/resource/account_store.rb +15 -11
  57. data/lib/stormpath-sdk/resource/account_store_mapping.rb +14 -13
  58. data/lib/stormpath-sdk/resource/application.rb +147 -136
  59. data/lib/stormpath-sdk/resource/application_web_config.rb +11 -7
  60. data/lib/stormpath-sdk/resource/associations.rb +36 -43
  61. data/lib/stormpath-sdk/resource/attribute_statement_mapping_rules.rb +8 -0
  62. data/lib/stormpath-sdk/resource/base.rb +201 -200
  63. data/lib/stormpath-sdk/resource/challenge.rb +12 -8
  64. data/lib/stormpath-sdk/resource/collection.rb +77 -76
  65. data/lib/stormpath-sdk/resource/custom_data.rb +60 -61
  66. data/lib/stormpath-sdk/resource/custom_data_hash_methods.rb +28 -25
  67. data/lib/stormpath-sdk/resource/custom_data_storage.rb +18 -16
  68. data/lib/stormpath-sdk/resource/directory.rb +37 -60
  69. data/lib/stormpath-sdk/resource/email_verification_token.rb +7 -3
  70. data/lib/stormpath-sdk/resource/error.rb +8 -4
  71. data/lib/stormpath-sdk/resource/expansion.rb +22 -20
  72. data/lib/stormpath-sdk/resource/factor.rb +12 -8
  73. data/lib/stormpath-sdk/resource/field.rb +8 -4
  74. data/lib/stormpath-sdk/resource/group.rb +21 -16
  75. data/lib/stormpath-sdk/resource/group_membership.rb +7 -5
  76. data/lib/stormpath-sdk/resource/instance.rb +10 -6
  77. data/lib/stormpath-sdk/resource/linked_account.rb +7 -3
  78. data/lib/stormpath-sdk/resource/oauth_policy.rb +7 -3
  79. data/lib/stormpath-sdk/resource/organization.rb +14 -10
  80. data/lib/stormpath-sdk/resource/organization_account_store_mapping.rb +8 -4
  81. data/lib/stormpath-sdk/resource/password_reset_token.rb +9 -5
  82. data/lib/stormpath-sdk/resource/phone.rb +8 -4
  83. data/lib/stormpath-sdk/resource/registered_saml_service_provider.rb +8 -0
  84. data/lib/stormpath-sdk/resource/saml_identity_provider.rb +14 -0
  85. data/lib/stormpath-sdk/resource/saml_identity_provider_metadata.rb +9 -0
  86. data/lib/stormpath-sdk/resource/saml_policy.rb +10 -0
  87. data/lib/stormpath-sdk/resource/saml_service_provider.rb +7 -0
  88. data/lib/stormpath-sdk/{provider/saml/saml_mapping_rules.rb → resource/saml_service_provider_metadata.rb} +6 -5
  89. data/lib/stormpath-sdk/resource/saml_service_provider_registration.rb +11 -0
  90. data/lib/stormpath-sdk/resource/schema.rb +8 -4
  91. data/lib/stormpath-sdk/resource/tenant.rb +11 -8
  92. data/lib/stormpath-sdk/resource/user_info_mapping_rules.rb +7 -3
  93. data/lib/stormpath-sdk/resource/utils.rb +7 -10
  94. data/lib/stormpath-sdk/resource/verification_email.rb +7 -3
  95. data/lib/stormpath-sdk/resource/x_509_certificate.rb +7 -0
  96. data/lib/stormpath-sdk/util/assert.rb +1 -3
  97. data/lib/stormpath-sdk/version.rb +2 -2
  98. data/spec/auth/basic_authenticator_spec.rb +28 -24
  99. data/spec/auth/register_service_provider_spec.rb +68 -0
  100. data/spec/auth/sauthc1_signer_spec.rb +8 -4
  101. data/spec/cache/cache_entry_spec.rb +28 -29
  102. data/spec/cache/cache_spec.rb +9 -9
  103. data/spec/cache/cache_stats_spec.rb +1 -1
  104. data/spec/client_spec.rb +63 -63
  105. data/spec/data_store_spec.rb +23 -14
  106. data/spec/oauth/access_token_authentication_result_spec.rb +8 -2
  107. data/spec/provider/account_resolver_spec.rb +6 -4
  108. data/spec/provider/provider_spec.rb +6 -6
  109. data/spec/resource/account_creation_policy_spec.rb +1 -1
  110. data/spec/resource/account_link_spec.rb +7 -15
  111. data/spec/resource/account_spec.rb +17 -17
  112. data/spec/resource/account_store_mapping_spec.rb +16 -22
  113. data/spec/resource/account_store_spec.rb +3 -3
  114. data/spec/resource/application_spec.rb +324 -330
  115. data/spec/resource/base_spec.rb +7 -31
  116. data/spec/resource/collection_spec.rb +63 -114
  117. data/spec/resource/custom_data_spec.rb +1 -1
  118. data/spec/resource/directory_spec.rb +91 -87
  119. data/spec/resource/expansion_spec.rb +10 -10
  120. data/spec/resource/factor_spec.rb +1 -1
  121. data/spec/resource/group_spec.rb +1 -1
  122. data/spec/resource/linked_account_spec.rb +7 -7
  123. data/spec/resource/organization_spec.rb +12 -11
  124. data/spec/resource/phone_spec.rb +1 -1
  125. data/spec/resource/registered_saml_service_provider_spec.rb +35 -0
  126. data/spec/resource/saml_identity_provider_metadata_spec.rb +27 -0
  127. data/spec/resource/saml_identity_provider_spec.rb +94 -0
  128. data/spec/resource/saml_policy_spec.rb +27 -0
  129. data/spec/resource/saml_service_provider_registration_spec.rb +58 -0
  130. data/spec/resource/saml_service_provider_spec.rb +19 -0
  131. data/spec/resource/status_spec.rb +4 -3
  132. data/spec/resource/tenant_spec.rb +4 -6
  133. data/spec/spec_helper.rb +1 -1
  134. data/spec/support/custom_data_save_period.rb +4 -0
  135. data/spec/support/custom_data_storage_behavior.rb +7 -8
  136. data/spec/support/mocked_provider_accounts.rb +101 -101
  137. data/spec/support/mocked_saml_responses.rb +130 -0
  138. data/spec/support/resource_factory.rb +4 -4
  139. data/spec/support/resource_helpers.rb +10 -4
  140. data/spec/support/resource_matchers.rb +4 -4
  141. data/spec/support/test_request_executor.rb +2 -2
  142. metadata +21 -8
  143. data/lib/stormpath-sdk/provider/saml/saml_provider_metadata.rb +0 -19
  144. data/spec/fixtures/response/create_saml_directory.json +0 -26
  145. data/spec/fixtures/response/create_saml_directory_mapping_rules.json +0 -12
  146. data/spec/fixtures/response/get_saml_directory_provider.json +0 -16
  147. data/spec/fixtures/response/get_saml_directory_provider_metadata.json +0 -12
@@ -1,11 +1,11 @@
1
1
  module Stormpath
2
2
  module Oauth
3
- class RefreshGrantRequest
3
+ class RefreshGrantRequest
4
4
  attr_accessor :grant_type, :refresh_token
5
5
 
6
6
  def initialize(refresh_token)
7
7
  @refresh_token = refresh_token
8
- @grant_type = "refresh_token"
8
+ @grant_type = 'refresh_token'
9
9
  end
10
10
  end
11
11
  end
@@ -18,14 +18,14 @@ module Stormpath
18
18
 
19
19
  private
20
20
 
21
- attr_accessor :account, :application, :api_key
21
+ attr_accessor :account, :application, :api_key, :status
22
22
 
23
23
  def payload
24
24
  {
25
25
  sub: account.href,
26
26
  iat: Time.now.to_i,
27
27
  iss: application.href,
28
- status: @status,
28
+ status: status,
29
29
  aud: api_key.id
30
30
  }
31
31
  end
@@ -16,13 +16,11 @@
16
16
  module Stormpath
17
17
  module Provider
18
18
  class AccountAccess < Stormpath::Resource::Base
19
-
20
19
  PROVIDER_DATA = :provider_data
21
20
 
22
21
  def provider_data=(provider_data)
23
22
  set_property PROVIDER_DATA, provider_data
24
23
  end
25
-
26
24
  end
27
25
  end
28
26
  end
@@ -16,10 +16,9 @@
16
16
  module Stormpath
17
17
  module Provider
18
18
  class AccountResult < Stormpath::Resource::Base
19
-
20
19
  prop_reader :is_new_account
21
20
 
22
- alias_method :is_new_account?, :is_new_account
21
+ alias is_new_account? is_new_account
23
22
 
24
23
  has_one :account
25
24
  end
@@ -13,6 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::FacebookProvider < Stormpath::Provider::Provider
17
- prop_reader :client_id, :client_secret
16
+ module Stormpath
17
+ module Provider
18
+ class FacebookProvider < Stormpath::Provider::Provider
19
+ prop_reader :client_id, :client_secret
20
+ end
21
+ end
18
22
  end
@@ -13,6 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::FacebookProviderData < Stormpath::Provider::ProviderData
17
- prop_reader :access_token
18
- end
16
+ module Stormpath
17
+ module Provider
18
+ class FacebookProviderData < Stormpath::Provider::ProviderData
19
+ prop_reader :access_token
20
+ end
21
+ end
22
+ end
@@ -13,6 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::GithubProvider < Stormpath::Provider::Provider
17
- prop_reader :client_id, :client_secret
16
+ module Stormpath
17
+ module Provider
18
+ class GithubProvider < Stormpath::Provider::Provider
19
+ prop_reader :client_id, :client_secret
20
+ end
21
+ end
18
22
  end
@@ -13,6 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::GithubProviderData < Stormpath::Provider::ProviderData
17
- prop_reader :access_token
16
+ module Stormpath
17
+ module Provider
18
+ class GithubProviderData < Stormpath::Provider::ProviderData
19
+ prop_reader :access_token
20
+ end
21
+ end
18
22
  end
@@ -13,7 +13,11 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::GoogleProvider < Stormpath::Provider::Provider
17
- prop_accessor :hd, :display, :access_type
18
- prop_reader :client_id, :client_secret, :redirect_uri
16
+ module Stormpath
17
+ module Provider
18
+ class GoogleProvider < Stormpath::Provider::Provider
19
+ prop_accessor :hd, :display, :access_type
20
+ prop_reader :client_id, :client_secret, :redirect_uri
21
+ end
22
+ end
19
23
  end
@@ -13,6 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::GoogleProviderData < Stormpath::Provider::ProviderData
17
- prop_reader :access_token, :refresh_token
16
+ module Stormpath
17
+ module Provider
18
+ class GoogleProviderData < Stormpath::Provider::ProviderData
19
+ prop_reader :access_token, :refresh_token
20
+ end
21
+ end
18
22
  end
@@ -14,6 +14,10 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
  #
17
- class Stormpath::Provider::LinkedinProvider < Stormpath::Provider::Provider
18
- prop_reader :client_id, :client_secret
17
+ module Stormpath
18
+ module Provider
19
+ class LinkedinProvider < Stormpath::Provider::Provider
20
+ prop_reader :client_id, :client_secret
21
+ end
22
+ end
19
23
  end
@@ -13,6 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::LinkedinProviderData < Stormpath::Provider::ProviderData
17
- prop_reader :access_token
16
+ module Stormpath
17
+ module Provider
18
+ class LinkedinProviderData < Stormpath::Provider::ProviderData
19
+ prop_reader :access_token
20
+ end
21
+ end
18
22
  end
@@ -13,9 +13,13 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::Provider < Stormpath::Resource::Instance
17
- prop_accessor :scope
18
- prop_reader :provider_id, :created_at, :modified_at
16
+ module Stormpath
17
+ module Provider
18
+ class Provider < Stormpath::Resource::Instance
19
+ prop_accessor :scope
20
+ prop_reader :provider_id, :created_at, :modified_at
19
21
 
20
- has_one :user_info_mapping_rules
22
+ has_one :user_info_mapping_rules
23
+ end
24
+ end
21
25
  end
@@ -13,6 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::ProviderData < Stormpath::Resource::Base
17
- prop_reader :provider_id, :created_at, :modified_at, :user_info
16
+ module Stormpath
17
+ module Provider
18
+ class ProviderData < Stormpath::Resource::Base
19
+ prop_reader :provider_id, :created_at, :modified_at, :user_info
20
+ end
21
+ end
18
22
  end
@@ -13,8 +13,14 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::SamlProvider < Stormpath::Provider::Provider
17
- prop_reader :provider_id, :sso_login_url, :sso_logout_url,
18
- :encoded_x509_signing_cert, :request_signature_algorithm,
19
- :service_provider_metadata, :attribute_statement_mapping_rules
16
+ module Stormpath
17
+ module Provider
18
+ class SamlProvider < Stormpath::Provider::Provider
19
+ prop_reader :provider_id, :sso_login_url, :sso_logout_url,
20
+ :encoded_x509_signing_cert, :request_signature_algorithm
21
+
22
+ has_one :attribute_statement_mapping_rules
23
+ has_one :service_provider_metadata, class_name: :samlServiceProviderMetadata
24
+ end
25
+ end
20
26
  end
@@ -13,7 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::SamlProviderData < Stormpath::Provider::ProviderData
17
- prop_reader :href, :created_at, :modified_at, :provider_id, :sso_log_in_url,
18
- :sso_lgout_url
16
+ module Stormpath
17
+ module Provider
18
+ class SamlProviderData < Stormpath::Provider::ProviderData
19
+ prop_reader :href, :created_at, :modified_at, :provider_id, :sso_log_in_url, :sso_logout_url
20
+ end
21
+ end
19
22
  end
@@ -13,5 +13,9 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::StormpathProvider < Stormpath::Provider::Provider
17
- end
16
+ module Stormpath
17
+ module Provider
18
+ class StormpathProvider < Stormpath::Provider::Provider
19
+ end
20
+ end
21
+ end
@@ -13,5 +13,9 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::StormpathProviderData < Stormpath::Provider::ProviderData
17
- end
16
+ module Stormpath
17
+ module Provider
18
+ class StormpathProviderData < Stormpath::Provider::ProviderData
19
+ end
20
+ end
21
+ end
@@ -13,6 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::TwitterProvider < Stormpath::Provider::Provider
17
- prop_reader :client_id, :client_secret
16
+ module Stormpath
17
+ module Provider
18
+ class TwitterProvider < Stormpath::Provider::Provider
19
+ prop_reader :client_id, :client_secret
20
+ end
21
+ end
18
22
  end
@@ -13,6 +13,10 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Provider::TwitterProviderData < Stormpath::Provider::ProviderData
17
- prop_reader :access_token
16
+ module Stormpath
17
+ module Provider
18
+ class TwitterProviderData < Stormpath::Provider::ProviderData
19
+ prop_reader :access_token
20
+ end
21
+ end
18
22
  end
@@ -13,61 +13,67 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Resource::Account < Stormpath::Resource::Instance
17
- include Stormpath::Resource::CustomDataStorage
16
+ module Stormpath
17
+ module Resource
18
+ class Account < Stormpath::Resource::Instance
19
+ include Stormpath::Resource::CustomDataStorage
18
20
 
19
- prop_accessor :username, :email, :given_name, :middle_name, :surname, :status
20
- prop_writer :password
21
- prop_reader :full_name, :created_at, :modified_at, :password_modified_at
22
- prop_non_printable :password
21
+ prop_accessor :username, :email, :given_name, :middle_name, :surname, :status
22
+ prop_writer :password
23
+ prop_reader :full_name, :created_at, :modified_at, :password_modified_at
24
+ prop_non_printable :password
23
25
 
24
- belongs_to :directory
25
- belongs_to :tenant
26
+ belongs_to :directory
27
+ belongs_to :tenant
26
28
 
27
- has_one :email_verification_token
29
+ has_one :email_verification_token
28
30
 
29
- has_many :groups
30
- has_many :group_memberships
31
- has_many :applications
31
+ has_many :groups
32
+ has_many :group_memberships
33
+ has_many :applications
32
34
 
33
- has_many :linked_accounts, class_name: :Account
34
- has_many :account_links
35
+ has_many :linked_accounts, class_name: :Account
36
+ has_many :account_links
35
37
 
36
- has_one :custom_data
38
+ has_one :custom_data
37
39
 
38
- has_many :access_tokens
39
- has_many :refresh_tokens
40
+ has_many :access_tokens
41
+ has_many :refresh_tokens
40
42
 
41
- has_many :api_keys, can: [:create]
43
+ has_many :api_keys, can: [:create]
42
44
 
43
- has_many :phones, can: [:get, :create]
44
- has_many :factors, can: [:get, :create]
45
+ has_many :phones, can: [:get, :create]
46
+ has_many :factors, can: [:get, :create]
45
47
 
46
- def add_group group
47
- client.group_memberships.create group: group, account: self
48
- end
48
+ def add_group(group)
49
+ client.group_memberships.create(group: group, account: self)
50
+ end
49
51
 
50
- def remove_group group
51
- group_membership = group_memberships.find {|group_membership| group_membership.group.href == group.href }
52
- group_membership.delete if group_membership
53
- end
52
+ def remove_group(group)
53
+ group_membership = group_memberships.find do |membership|
54
+ membership.group.href == group.href
55
+ end
56
+ group_membership.delete if group_membership
57
+ end
54
58
 
55
- def provider_data
56
- internal_instance = instance_variable_get "@_provider_data"
57
- return internal_instance if internal_instance
59
+ def provider_data
60
+ internal_instance = instance_variable_get('@_provider_data')
61
+ return internal_instance if internal_instance
58
62
 
59
- provider_data_href = self.href + '/providerData'
63
+ provider_data_href = "#{href}/providerData"
60
64
 
61
- clazz_proc = Proc.new do |data|
62
- provider_id = data['providerId']
63
- "Stormpath::Provider::#{provider_id.capitalize}ProviderData".constantize
64
- end
65
+ clazz_proc = proc do |data|
66
+ provider_id = data['providerId']
67
+ "Stormpath::Provider::#{provider_id.capitalize}ProviderData".constantize
68
+ end
65
69
 
66
- provider_data = data_store.get_resource provider_data_href, clazz_proc
67
- instance_variable_set "@_provider_data", provider_data
68
- end
70
+ provider_data = data_store.get_resource(provider_data_href, clazz_proc)
71
+ instance_variable_set('@_provider_data', provider_data)
72
+ end
69
73
 
70
- def create_factor(type, options = {})
71
- Stormpath::Authentication::CreateFactor.new(client, self, type, options).save
74
+ def create_factor(type, options = {})
75
+ Stormpath::Authentication::CreateFactor.new(client, self, type, options).save
76
+ end
77
+ end
72
78
  end
73
79
  end
@@ -13,10 +13,14 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Resource::AccountLink < Stormpath::Resource::Instance
17
- prop_accessor :right_account, :left_account
18
- prop_reader :created_at, :modified_at
16
+ module Stormpath
17
+ module Resource
18
+ class AccountLink < Stormpath::Resource::Instance
19
+ prop_accessor :right_account, :left_account
20
+ prop_reader :created_at, :modified_at
19
21
 
20
- belongs_to :right_account, class_name: :Account, href: '/rightAccount'
21
- belongs_to :left_account, class_name: :Account, href: '/leftAccount'
22
+ belongs_to :right_account, class_name: :Account, href: '/rightAccount'
23
+ belongs_to :left_account, class_name: :Account, href: '/leftAccount'
24
+ end
25
+ end
22
26
  end
@@ -13,9 +13,13 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- class Stormpath::Resource::AccountLinkingPolicy < Stormpath::Resource::Instance
17
- prop_accessor :status, :automatic_provisioning, :matching_property
18
- prop_reader :created_at, :modified_at
16
+ module Stormpath
17
+ module Resource
18
+ class AccountLinkingPolicy < Stormpath::Resource::Instance
19
+ prop_accessor :status, :automatic_provisioning, :matching_property
20
+ prop_reader :created_at, :modified_at
19
21
 
20
- belongs_to :tenant
22
+ belongs_to :tenant
23
+ end
24
+ end
21
25
  end
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- Stormpath::Resource::AccountMembership = Stormpath::Resource::GroupMembership
16
+ Stormpath::Resource::AccountMembership = Stormpath::Resource::GroupMembership