Class: Yoti::DocScan::Session::Create::SessionSpecification

Inherits:
Object
  • Object
show all
Defined in:
lib/yoti/doc_scan/session/create/session_specification.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client_session_token_ttl, resources_ttl, user_tracking_id, notifications, requested_checks, requested_tasks, sdk_config, required_documents) ⇒ SessionSpecification

Returns a new instance of SessionSpecification.

Parameters:



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/yoti/doc_scan/session/create/session_specification.rb', line 18

def initialize(
  client_session_token_ttl,
  resources_ttl,
  user_tracking_id,
  notifications,
  requested_checks,
  requested_tasks,
  sdk_config,
  required_documents
)
  Validation.assert_is_a(Integer, client_session_token_ttl, 'client_session_token_ttl', true)
  @client_session_token_ttl = client_session_token_ttl

  Validation.assert_is_a(Integer, resources_ttl, 'resources_ttl', true)
  @resources_ttl = resources_ttl

  Validation.assert_is_a(String, user_tracking_id, 'user_tracking_id', true)
  @user_tracking_id = user_tracking_id

  Validation.assert_is_a(NotificationConfig, notifications, 'notifications', true)
  @notifications = notifications

  Validation.assert_is_a(Array, requested_checks, 'requested_checks', true)
  @requested_checks = requested_checks

  Validation.assert_is_a(Array, requested_tasks, 'requested_tasks', true)
  @requested_tasks = requested_tasks

  Validation.assert_is_a(SdkConfig, sdk_config, 'sdk_config', true)
  @sdk_config = sdk_config

  Validation.assert_is_a(Array, required_documents, 'required_documents', true)
  @required_documents = required_documents
end

Class Method Details

.builderSessionSpecificationBuilder



73
74
75
# File 'lib/yoti/doc_scan/session/create/session_specification.rb', line 73

def self.builder
  SessionSpecificationBuilder.new
end

Instance Method Details

#as_json(*_args) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/yoti/doc_scan/session/create/session_specification.rb', line 57

def as_json(*_args)
  {
    client_session_token_ttl: @client_session_token_ttl,
    resources_ttl: @resources_ttl,
    user_tracking_id: @user_tracking_id,
    notifications: @notifications,
    requested_checks: @requested_checks.map(&:as_json),
    requested_tasks: @requested_tasks.map(&:as_json),
    sdk_config: @sdk_config,
    required_documents: @required_documents.map(&:as_json)
  }.compact
end

#to_json(*_args) ⇒ Object



53
54
55
# File 'lib/yoti/doc_scan/session/create/session_specification.rb', line 53

def to_json(*_args)
  as_json.to_json
end