ravelin 0.1.40 → 0.1.41

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '038662e7b1108a43857081c07582bf19219b547c81ad2e8c7971f6c743f93c37'
4
- data.tar.gz: 154459fe3f22b5d506d1952ba357bc03b1d9dfe394d882b63f37677e57aa9843
3
+ metadata.gz: 2ed7ce357df63f506c0332cda6d685e243c629dba53882e698c3c97c83110eb3
4
+ data.tar.gz: 7964f60d9fe6070c8cef7b906bc784dde0074e91f605e052c09416ad473c10b0
5
5
  SHA512:
6
- metadata.gz: e761e34a794cbd61dc33e498bb264aab90df7485f91c775387c3f8d09ce9bfd7c24ad7cc6fbe334b9bdeb005b4dbee27e476f3ff133b1fe480eeaf0dd350cb4e
7
- data.tar.gz: 7f8dc2b205484baaf0dd27b26505c0b7a6ba6a47db0c60d3f6ef126057613b664313669de15f3448927509e5982bc94f51d7bd03942dff3c681e172db0aaf639
6
+ metadata.gz: 7178959b3ccbb0cb4b55c1ef5de904fa5a3d662479a07e5246ce1d075af22acae6dc3de070c008e01f1abce11be3ae4ca25ebeee76e2e7c39ed6861f714dc864
7
+ data.tar.gz: ac1965cd41a4f15e058524a69bc782b9f984f7e2bc3418e2aa252382e25125e33a4d45b822e7d6153c53e943bc5a311218e386fcceb98c8caa8dfa8582be7b2e
@@ -12,5 +12,9 @@ module Ravelin
12
12
  def password=(passwd)
13
13
  @password = Ravelin::Password.new(passwd)
14
14
  end
15
+
16
+ def social=(mechanism)
17
+ @social = Ravelin::AuthenticationMechanisms::Social(mechanism)
18
+ end
15
19
  end
16
20
  end
@@ -0,0 +1,31 @@
1
+ module Ravelin
2
+ module AuthenticationMechanisms
3
+ class Social < RavelinObject
4
+ PROVIDERS = %w(apple azure facebook google linkedin microsoft okta onelogin ping twitter)
5
+ FAILURE_REASONS = %w(TIMEOUT UNKNOWN_USERNAME INTERNAL_ERROR RATE_LIMIT SOCIAL_FAILURE BANNED_USER)
6
+
7
+ attr_accessor :success, :social_provider, :failure_reason
8
+ attr_required :success, :social_provider
9
+
10
+ def social_provider=(provider)
11
+ @social_provider = provider.to_s.downcase
12
+ end
13
+
14
+ def failure_reason=(reason)
15
+ @failure_reason = reason.to_s.upcase
16
+ end
17
+
18
+ def validate
19
+ super
20
+
21
+ if !success && !FAILURE_REASONS.include?(failure_reason)
22
+ raise ArgumentError.new("Failure reason value must be one of #{FAILURE_REASONS.join(', ')}")
23
+ end
24
+
25
+ if !PROVIDERS.include?(social_provider)
26
+ raise ArgumentError.new("Social provider value must be one of #{PROVIDERS.join(', ')}")
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,3 +1,3 @@
1
1
  module Ravelin
2
- VERSION = '0.1.40'
2
+ VERSION = '0.1.41'
3
3
  end
data/lib/ravelin.rb CHANGED
@@ -40,6 +40,9 @@ require 'ravelin/response'
40
40
  require 'ravelin/client'
41
41
  require 'ravelin/proxy_client'
42
42
 
43
+ require 'ravelin/authentication_mechanisms/social'
44
+
45
+
43
46
  module Ravelin
44
47
  @faraday_adapter = Faraday.default_adapter
45
48
  @faraday_timeout = 1
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ravelin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.40
4
+ version: 0.1.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Levy
8
8
  - Tommy Palmer
9
9
  - Gurkan Oluc
10
10
  - Mathilda Thompson
11
- autorequire:
11
+ autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2021-11-29 00:00:00.000000000 Z
14
+ date: 2021-12-03 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: faraday
@@ -112,6 +112,7 @@ files:
112
112
  - lib/ravelin/ato_login.rb
113
113
  - lib/ravelin/ato_reclaim.rb
114
114
  - lib/ravelin/authentication_mechanism.rb
115
+ - lib/ravelin/authentication_mechanisms/social.rb
115
116
  - lib/ravelin/chargeback.rb
116
117
  - lib/ravelin/checkout_transaction.rb
117
118
  - lib/ravelin/client.rb
@@ -145,7 +146,7 @@ homepage: https://developer.ravelin.com
145
146
  licenses:
146
147
  - MIT
147
148
  metadata: {}
148
- post_install_message:
149
+ post_install_message:
149
150
  rdoc_options: []
150
151
  require_paths:
151
152
  - lib
@@ -160,9 +161,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
161
  - !ruby/object:Gem::Version
161
162
  version: '0'
162
163
  requirements: []
163
- rubyforge_project:
164
- rubygems_version: 2.7.6.2
165
- signing_key:
164
+ rubygems_version: 3.0.9
165
+ signing_key:
166
166
  specification_version: 4
167
167
  summary: Ruby bindings for the Ravelin API
168
168
  test_files: []