ravelin 0.1.40 → 0.1.41

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