stormpath-sdk 1.6.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
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