sc-apimatic-sdk 0.0.1

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 (122) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +166 -0
  4. data/bin/console +15 -0
  5. data/lib/socure_risk_os_api/api_helper.rb +10 -0
  6. data/lib/socure_risk_os_api/apis/base_api.rb +67 -0
  7. data/lib/socure_risk_os_api/apis/evaluation_api.rb +318 -0
  8. data/lib/socure_risk_os_api/apis/feedback_api.rb +102 -0
  9. data/lib/socure_risk_os_api/apis/reason_codes_api.rb +61 -0
  10. data/lib/socure_risk_os_api/client.rb +85 -0
  11. data/lib/socure_risk_os_api/configuration.rb +179 -0
  12. data/lib/socure_risk_os_api/exceptions/api_exception.rb +21 -0
  13. data/lib/socure_risk_os_api/exceptions/error_exception.rb +80 -0
  14. data/lib/socure_risk_os_api/http/api_response.rb +19 -0
  15. data/lib/socure_risk_os_api/http/auth/oauth_2.rb +53 -0
  16. data/lib/socure_risk_os_api/http/http_call_back.rb +10 -0
  17. data/lib/socure_risk_os_api/http/http_method_enum.rb +10 -0
  18. data/lib/socure_risk_os_api/http/http_request.rb +10 -0
  19. data/lib/socure_risk_os_api/http/http_response.rb +10 -0
  20. data/lib/socure_risk_os_api/http/proxy_settings.rb +22 -0
  21. data/lib/socure_risk_os_api/logging/configuration/api_logging_configuration.rb +186 -0
  22. data/lib/socure_risk_os_api/logging/sdk_logger.rb +17 -0
  23. data/lib/socure_risk_os_api/models/account.rb +206 -0
  24. data/lib/socure_risk_os_api/models/account1.rb +203 -0
  25. data/lib/socure_risk_os_api/models/account_inquiry.rb +36 -0
  26. data/lib/socure_risk_os_api/models/account_snapshot.rb +106 -0
  27. data/lib/socure_risk_os_api/models/account_view.rb +116 -0
  28. data/lib/socure_risk_os_api/models/actions.rb +88 -0
  29. data/lib/socure_risk_os_api/models/additional_context.rb +235 -0
  30. data/lib/socure_risk_os_api/models/additional_individual.rb +270 -0
  31. data/lib/socure_risk_os_api/models/address.rb +159 -0
  32. data/lib/socure_risk_os_api/models/address1.rb +144 -0
  33. data/lib/socure_risk_os_api/models/advanced_prefill.rb +168 -0
  34. data/lib/socure_risk_os_api/models/age_assurance.rb +163 -0
  35. data/lib/socure_risk_os_api/models/amount.rb +95 -0
  36. data/lib/socure_risk_os_api/models/api_evaluation_monitoring_request.rb +96 -0
  37. data/lib/socure_risk_os_api/models/api_evaluation_monitoring_response.rb +84 -0
  38. data/lib/socure_risk_os_api/models/api_feedback_request.rb +153 -0
  39. data/lib/socure_risk_os_api/models/api_reason_codes_response.rb +85 -0
  40. data/lib/socure_risk_os_api/models/attachment.rb +95 -0
  41. data/lib/socure_risk_os_api/models/bank_account_verification.rb +167 -0
  42. data/lib/socure_risk_os_api/models/base_model.rb +110 -0
  43. data/lib/socure_risk_os_api/models/business.rb +224 -0
  44. data/lib/socure_risk_os_api/models/business_onboarding.rb +167 -0
  45. data/lib/socure_risk_os_api/models/channel.rb +45 -0
  46. data/lib/socure_risk_os_api/models/channel1.rb +44 -0
  47. data/lib/socure_risk_os_api/models/code.rb +68 -0
  48. data/lib/socure_risk_os_api/models/consumer_onboarding.rb +167 -0
  49. data/lib/socure_risk_os_api/models/consumer_onboarding_patch.rb +178 -0
  50. data/lib/socure_risk_os_api/models/crypto_address.rb +105 -0
  51. data/lib/socure_risk_os_api/models/data.rb +106 -0
  52. data/lib/socure_risk_os_api/models/data1.rb +166 -0
  53. data/lib/socure_risk_os_api/models/data10.rb +166 -0
  54. data/lib/socure_risk_os_api/models/data2.rb +145 -0
  55. data/lib/socure_risk_os_api/models/data3.rb +160 -0
  56. data/lib/socure_risk_os_api/models/data4.rb +157 -0
  57. data/lib/socure_risk_os_api/models/data5.rb +154 -0
  58. data/lib/socure_risk_os_api/models/data6.rb +174 -0
  59. data/lib/socure_risk_os_api/models/data7.rb +205 -0
  60. data/lib/socure_risk_os_api/models/data8.rb +115 -0
  61. data/lib/socure_risk_os_api/models/data9.rb +130 -0
  62. data/lib/socure_risk_os_api/models/data_enrichment.rb +182 -0
  63. data/lib/socure_risk_os_api/models/decision.rb +47 -0
  64. data/lib/socure_risk_os_api/models/decision1.rb +48 -0
  65. data/lib/socure_risk_os_api/models/destination.rb +136 -0
  66. data/lib/socure_risk_os_api/models/device.rb +339 -0
  67. data/lib/socure_risk_os_api/models/disclosure_purpose.rb +29 -0
  68. data/lib/socure_risk_os_api/models/document_verification_config.rb +195 -0
  69. data/lib/socure_risk_os_api/models/docv.rb +98 -0
  70. data/lib/socure_risk_os_api/models/environment_name.rb +37 -0
  71. data/lib/socure_risk_os_api/models/eval_response_with_out_socure_data.rb +413 -0
  72. data/lib/socure_risk_os_api/models/eval_source.rb +38 -0
  73. data/lib/socure_risk_os_api/models/event_category.rb +45 -0
  74. data/lib/socure_risk_os_api/models/event_category1.rb +45 -0
  75. data/lib/socure_risk_os_api/models/event_category2.rb +57 -0
  76. data/lib/socure_risk_os_api/models/event_details.rb +96 -0
  77. data/lib/socure_risk_os_api/models/formation.rb +138 -0
  78. data/lib/socure_risk_os_api/models/fraud_feedback_import_response.rb +73 -0
  79. data/lib/socure_risk_os_api/models/fraud_feedback_response.rb +73 -0
  80. data/lib/socure_risk_os_api/models/fraud_label.rb +37 -0
  81. data/lib/socure_risk_os_api/models/gender.rb +40 -0
  82. data/lib/socure_risk_os_api/models/generic_passthrough.rb +169 -0
  83. data/lib/socure_risk_os_api/models/individual.rb +281 -0
  84. data/lib/socure_risk_os_api/models/individual1.rb +292 -0
  85. data/lib/socure_risk_os_api/models/individual3.rb +206 -0
  86. data/lib/socure_risk_os_api/models/individual4.rb +182 -0
  87. data/lib/socure_risk_os_api/models/individual5.rb +297 -0
  88. data/lib/socure_risk_os_api/models/individual6.rb +148 -0
  89. data/lib/socure_risk_os_api/models/input.rb +86 -0
  90. data/lib/socure_risk_os_api/models/inquiry.rb +36 -0
  91. data/lib/socure_risk_os_api/models/invalid_arg.rb +85 -0
  92. data/lib/socure_risk_os_api/models/language.rb +247 -0
  93. data/lib/socure_risk_os_api/models/login_and_authentication.rb +167 -0
  94. data/lib/socure_risk_os_api/models/method.rb +37 -0
  95. data/lib/socure_risk_os_api/models/monitoring_status.rb +37 -0
  96. data/lib/socure_risk_os_api/models/operation.rb +38 -0
  97. data/lib/socure_risk_os_api/models/otp.rb +95 -0
  98. data/lib/socure_risk_os_api/models/otp1.rb +98 -0
  99. data/lib/socure_risk_os_api/models/payment_screening.rb +167 -0
  100. data/lib/socure_risk_os_api/models/payment_screening_business.rb +155 -0
  101. data/lib/socure_risk_os_api/models/payment_screening_individual.rb +254 -0
  102. data/lib/socure_risk_os_api/models/payment_screening_instrument.rb +105 -0
  103. data/lib/socure_risk_os_api/models/product.rb +76 -0
  104. data/lib/socure_risk_os_api/models/reason_code.rb +149 -0
  105. data/lib/socure_risk_os_api/models/redirect.rb +118 -0
  106. data/lib/socure_risk_os_api/models/response.rb +77 -0
  107. data/lib/socure_risk_os_api/models/source.rb +146 -0
  108. data/lib/socure_risk_os_api/models/status.rb +40 -0
  109. data/lib/socure_risk_os_api/models/status1.rb +40 -0
  110. data/lib/socure_risk_os_api/models/transaction_details.rb +97 -0
  111. data/lib/socure_risk_os_api/models/trust_and_safety.rb +167 -0
  112. data/lib/socure_risk_os_api/models/type.rb +36 -0
  113. data/lib/socure_risk_os_api/models/type1.rb +36 -0
  114. data/lib/socure_risk_os_api/models/type2.rb +36 -0
  115. data/lib/socure_risk_os_api/models/update_decision.rb +156 -0
  116. data/lib/socure_risk_os_api/models/update_status.rb +169 -0
  117. data/lib/socure_risk_os_api/models/workforce_verification.rb +167 -0
  118. data/lib/socure_risk_os_api/utilities/date_time_helper.rb +11 -0
  119. data/lib/socure_risk_os_api/utilities/file_wrapper.rb +28 -0
  120. data/lib/socure_risk_os_api/utilities/union_type_lookup.rb +69 -0
  121. data/lib/socure_risk_os_api.rb +143 -0
  122. metadata +205 -0
@@ -0,0 +1,148 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # Inputs the configured Age Assurance methods resolve age from.
8
+ class Individual6 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The consumer's given name. Improves passive identity resolution.
13
+ # @return [String]
14
+ attr_accessor :given_name
15
+
16
+ # The consumer's family name. Improves passive identity resolution.
17
+ # @return [String]
18
+ attr_accessor :family_name
19
+
20
+ # The consumer's phone number in E.164 format (e.g., `+12025550147`);
21
+ # hyphens and spaces are tolerated. Required for phone-based assurance.
22
+ # @return [String]
23
+ attr_accessor :phone_number
24
+
25
+ # The consumer's email address. Required for email-based assurance.
26
+ # @return [String]
27
+ attr_accessor :email
28
+
29
+ # The consumer's email address. Required for email-based assurance.
30
+ # @return [Address]
31
+ attr_accessor :address
32
+
33
+ # The consumer's email address. Required for email-based assurance.
34
+ # @return [Docv]
35
+ attr_accessor :docv
36
+
37
+ # Device session token captured by the Digital Intelligence SDK. Required
38
+ # for device-based assurance.
39
+ # @return [String]
40
+ attr_accessor :di_session_token
41
+
42
+ # A mapping from model property names to API property names.
43
+ def self.names
44
+ @_hash = {} if @_hash.nil?
45
+ @_hash['given_name'] = 'given_name'
46
+ @_hash['family_name'] = 'family_name'
47
+ @_hash['phone_number'] = 'phone_number'
48
+ @_hash['email'] = 'email'
49
+ @_hash['address'] = 'address'
50
+ @_hash['docv'] = 'docv'
51
+ @_hash['di_session_token'] = 'di_session_token'
52
+ @_hash
53
+ end
54
+
55
+ # An array for optional fields
56
+ def self.optionals
57
+ %w[
58
+ given_name
59
+ family_name
60
+ phone_number
61
+ email
62
+ address
63
+ docv
64
+ di_session_token
65
+ ]
66
+ end
67
+
68
+ # An array for nullable fields
69
+ def self.nullables
70
+ []
71
+ end
72
+
73
+ def initialize(given_name: SKIP, family_name: SKIP, phone_number: SKIP,
74
+ email: SKIP, address: SKIP, docv: SKIP,
75
+ di_session_token: SKIP, additional_properties: nil)
76
+ # Add additional model properties to the instance
77
+ additional_properties = {} if additional_properties.nil?
78
+
79
+ @given_name = given_name unless given_name == SKIP
80
+ @family_name = family_name unless family_name == SKIP
81
+ @phone_number = phone_number unless phone_number == SKIP
82
+ @email = email unless email == SKIP
83
+ @address = address unless address == SKIP
84
+ @docv = docv unless docv == SKIP
85
+ @di_session_token = di_session_token unless di_session_token == SKIP
86
+ @additional_properties = additional_properties
87
+ end
88
+
89
+ # Creates an instance of the object from a hash.
90
+ def self.from_hash(hash)
91
+ return nil unless hash
92
+
93
+ # Extract variables from the hash.
94
+ given_name = hash.key?('given_name') ? hash['given_name'] : SKIP
95
+ family_name = hash.key?('family_name') ? hash['family_name'] : SKIP
96
+ phone_number = hash.key?('phone_number') ? hash['phone_number'] : SKIP
97
+ email = hash.key?('email') ? hash['email'] : SKIP
98
+ address = Address.from_hash(hash['address']) if hash['address']
99
+ docv = Docv.from_hash(hash['docv']) if hash['docv']
100
+ di_session_token =
101
+ hash.key?('di_session_token') ? hash['di_session_token'] : SKIP
102
+
103
+ # Create a new hash for additional properties, removing known properties.
104
+ new_hash = hash.reject { |k, _| names.value?(k) }
105
+
106
+ additional_properties = APIHelper.get_additional_properties(
107
+ new_hash, proc { |value| value }
108
+ )
109
+
110
+ # Create object from extracted values.
111
+ Individual6.new(given_name: given_name,
112
+ family_name: family_name,
113
+ phone_number: phone_number,
114
+ email: email,
115
+ address: address,
116
+ docv: docv,
117
+ di_session_token: di_session_token,
118
+ additional_properties: additional_properties)
119
+ end
120
+
121
+ # Validates an instance of the object from a given value.
122
+ # @param [Individual6 | Hash] The value against the validation is performed.
123
+ def self.validate(value)
124
+ return true if value.instance_of? self
125
+
126
+ return false unless value.instance_of? Hash
127
+
128
+ true
129
+ end
130
+
131
+ # Provides a human-readable string representation of the object.
132
+ def to_s
133
+ class_name = self.class.name.split('::').last
134
+ "<#{class_name} given_name: #{@given_name}, family_name: #{@family_name}, phone_number:"\
135
+ " #{@phone_number}, email: #{@email}, address: #{@address}, docv: #{@docv},"\
136
+ " di_session_token: #{@di_session_token}, additional_properties: #{@additional_properties}>"
137
+ end
138
+
139
+ # Provides a debugging-friendly string with detailed object information.
140
+ def inspect
141
+ class_name = self.class.name.split('::').last
142
+ "<#{class_name} given_name: #{@given_name.inspect}, family_name: #{@family_name.inspect},"\
143
+ " phone_number: #{@phone_number.inspect}, email: #{@email.inspect}, address:"\
144
+ " #{@address.inspect}, docv: #{@docv.inspect}, di_session_token:"\
145
+ " #{@di_session_token.inspect}, additional_properties: #{@additional_properties}>"
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,86 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # The original input data submitted with the evaluation request. Only returned
8
+ # when the `include_input` query parameter is set to `true`.
9
+ class Input < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The input data as submitted.
14
+ # @return [Object]
15
+ attr_accessor :data
16
+
17
+ # The input data after any transformations applied by the workflow.
18
+ # @return [Object]
19
+ attr_accessor :updated_data
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['data'] = 'data'
25
+ @_hash['updated_data'] = 'updated_data'
26
+ @_hash
27
+ end
28
+
29
+ # An array for optional fields
30
+ def self.optionals
31
+ %w[
32
+ data
33
+ updated_data
34
+ ]
35
+ end
36
+
37
+ # An array for nullable fields
38
+ def self.nullables
39
+ []
40
+ end
41
+
42
+ def initialize(data: SKIP, updated_data: SKIP, additional_properties: nil)
43
+ # Add additional model properties to the instance
44
+ additional_properties = {} if additional_properties.nil?
45
+
46
+ @data = data unless data == SKIP
47
+ @updated_data = updated_data unless updated_data == SKIP
48
+ @additional_properties = additional_properties
49
+ end
50
+
51
+ # Creates an instance of the object from a hash.
52
+ def self.from_hash(hash)
53
+ return nil unless hash
54
+
55
+ # Extract variables from the hash.
56
+ data = hash.key?('data') ? hash['data'] : SKIP
57
+ updated_data = hash.key?('updated_data') ? hash['updated_data'] : SKIP
58
+
59
+ # Create a new hash for additional properties, removing known properties.
60
+ new_hash = hash.reject { |k, _| names.value?(k) }
61
+
62
+ additional_properties = APIHelper.get_additional_properties(
63
+ new_hash, proc { |value| value }
64
+ )
65
+
66
+ # Create object from extracted values.
67
+ Input.new(data: data,
68
+ updated_data: updated_data,
69
+ additional_properties: additional_properties)
70
+ end
71
+
72
+ # Provides a human-readable string representation of the object.
73
+ def to_s
74
+ class_name = self.class.name.split('::').last
75
+ "<#{class_name} data: #{@data}, updated_data: #{@updated_data}, additional_properties:"\
76
+ " #{@additional_properties}>"
77
+ end
78
+
79
+ # Provides a debugging-friendly string with detailed object information.
80
+ def inspect
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} data: #{@data.inspect}, updated_data: #{@updated_data.inspect},"\
83
+ " additional_properties: #{@additional_properties}>"
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,36 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # Inquiry.
8
+ class Inquiry
9
+ INQUIRY = [
10
+ # TODO: Write general description for AVAILABILITY
11
+ AVAILABILITY = 'AVAILABILITY'.freeze,
12
+
13
+ # TODO: Write general description for OWNERSHIP
14
+ OWNERSHIP = 'OWNERSHIP'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ INQUIRY.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = AVAILABILITY)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'availability' then AVAILABILITY
30
+ when 'ownership' then OWNERSHIP
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,85 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # InvalidArg Model.
8
+ class InvalidArg < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The name of the invalid field.
13
+ # @return [String]
14
+ attr_accessor :field
15
+
16
+ # An explanation of why the field is invalid.
17
+ # @return [String]
18
+ attr_accessor :description
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['field'] = 'field'
24
+ @_hash['description'] = 'description'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ field
32
+ description
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(field: SKIP, description: SKIP, additional_properties: nil)
42
+ # Add additional model properties to the instance
43
+ additional_properties = {} if additional_properties.nil?
44
+
45
+ @field = field unless field == SKIP
46
+ @description = description unless description == SKIP
47
+ @additional_properties = additional_properties
48
+ end
49
+
50
+ # Creates an instance of the object from a hash.
51
+ def self.from_hash(hash)
52
+ return nil unless hash
53
+
54
+ # Extract variables from the hash.
55
+ field = hash.key?('field') ? hash['field'] : SKIP
56
+ description = hash.key?('description') ? hash['description'] : SKIP
57
+
58
+ # Create a new hash for additional properties, removing known properties.
59
+ new_hash = hash.reject { |k, _| names.value?(k) }
60
+
61
+ additional_properties = APIHelper.get_additional_properties(
62
+ new_hash, proc { |value| value }
63
+ )
64
+
65
+ # Create object from extracted values.
66
+ InvalidArg.new(field: field,
67
+ description: description,
68
+ additional_properties: additional_properties)
69
+ end
70
+
71
+ # Provides a human-readable string representation of the object.
72
+ def to_s
73
+ class_name = self.class.name.split('::').last
74
+ "<#{class_name} field: #{@field}, description: #{@description}, additional_properties:"\
75
+ " #{@additional_properties}>"
76
+ end
77
+
78
+ # Provides a debugging-friendly string with detailed object information.
79
+ def inspect
80
+ class_name = self.class.name.split('::').last
81
+ "<#{class_name} field: #{@field.inspect}, description: #{@description.inspect},"\
82
+ " additional_properties: #{@additional_properties}>"
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,247 @@
1
+ # socure_risk_os_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SocureRiskOsApi
7
+ # Specifies the language package for the Capture App. Below are the possible
8
+ # values. - Automatic (device default): `auto` - Arabic: `ar` - Arabic (Saudi
9
+ # Arabia): `ar-sa` - Armenian: `hy` - Bengali: `bn` - Chinese (Hong Kong):
10
+ # `zh-hk` - Chinese (Simplified): `zh-cn` - Chinese (Traditional): `zh-tw` -
11
+ # Czech: `cs-cz` - Danish: `da-dk` - Dutch: `nl-nl` - English: `en` - English
12
+ # (Australian): `en-au` - English (Canadian): `en-ca` - English (United
13
+ # Kingdom): `en-gb` - English (United States): `en-us` - Finnish: `fi-fi` -
14
+ # French: `fr` - French (Canada): `fr-ca` - German: `de-de` - Haitian Creole:
15
+ # `ht` - Hebrew: `he-il` - Hindi: `hi-in` - Hungarian: `hu-hu` - Indonesian:
16
+ # `id-id` - Italian: `it` - Italian (Switzerland): `it-ch` - Japanese: `ja-jp`
17
+ # - Korean: `ko` - Malay: `ms-my` - Norwegian: `no-no` - Polish: `pl-pl` -
18
+ # Portuguese (Brazil): `pt-br` - Portuguese (Portugal): `pt-pt` - Romanian
19
+ # (Moldova): `ro-mo` - Romanian (Romania): `ro-ro` - Russian: `ru` - Slovak:
20
+ # `sk-sk` - Spanish: `es` - Spanish (Argentina): `es-ar` - Spanish
21
+ # (International): `es-001` - Spanish (Mexico): `es-mx` - Spanish (Spain):
22
+ # `es-es` - Spanish (US): `es-us` - Swedish: `sv-se` - Tagalog: `tl` - Thai:
23
+ # `th-th` - Turkish: `tr-tr` - Urdu: `ur` - Vietnamese: `vi` Set `language` to
24
+ # `auto` to use the consumer's device default language. If the device's
25
+ # default language isn't supported, the Capture App defaults to English
26
+ # (`en`).
27
+ class Language
28
+ LANGUAGE = [
29
+ # TODO: Write general description for AUTO
30
+ AUTO = 'auto'.freeze,
31
+
32
+ # TODO: Write general description for AR
33
+ AR = 'ar'.freeze,
34
+
35
+ # TODO: Write general description for ARSA
36
+ ARSA = 'ar-sa'.freeze,
37
+
38
+ # TODO: Write general description for BN
39
+ BN = 'bn'.freeze,
40
+
41
+ # TODO: Write general description for CSCZ
42
+ CSCZ = 'cs-cz'.freeze,
43
+
44
+ # TODO: Write general description for DADK
45
+ DADK = 'da-dk'.freeze,
46
+
47
+ # TODO: Write general description for DEDE
48
+ DEDE = 'de-de'.freeze,
49
+
50
+ # TODO: Write general description for EN
51
+ EN = 'en'.freeze,
52
+
53
+ # TODO: Write general description for ENAU
54
+ ENAU = 'en-au'.freeze,
55
+
56
+ # TODO: Write general description for ENCA
57
+ ENCA = 'en-ca'.freeze,
58
+
59
+ # TODO: Write general description for ENGB
60
+ ENGB = 'en-gb'.freeze,
61
+
62
+ # TODO: Write general description for ENUS
63
+ ENUS = 'en-us'.freeze,
64
+
65
+ # TODO: Write general description for ES
66
+ ES = 'es'.freeze,
67
+
68
+ # TODO: Write general description for ES001
69
+ ES001 = 'es-001'.freeze,
70
+
71
+ # TODO: Write general description for ESAR
72
+ ESAR = 'es-ar'.freeze,
73
+
74
+ # TODO: Write general description for ESES
75
+ ESES = 'es-es'.freeze,
76
+
77
+ # TODO: Write general description for ESMX
78
+ ESMX = 'es-mx'.freeze,
79
+
80
+ # TODO: Write general description for ESUS
81
+ ESUS = 'es-us'.freeze,
82
+
83
+ # TODO: Write general description for FIFI
84
+ FIFI = 'fi-fi'.freeze,
85
+
86
+ # TODO: Write general description for FR
87
+ FR = 'fr'.freeze,
88
+
89
+ # TODO: Write general description for FRCA
90
+ FRCA = 'fr-ca'.freeze,
91
+
92
+ # TODO: Write general description for HEIL
93
+ HEIL = 'he-il'.freeze,
94
+
95
+ # TODO: Write general description for HIIN
96
+ HIIN = 'hi-in'.freeze,
97
+
98
+ # TODO: Write general description for HT
99
+ HT = 'ht'.freeze,
100
+
101
+ # TODO: Write general description for HUHU
102
+ HUHU = 'hu-hu'.freeze,
103
+
104
+ # TODO: Write general description for HY
105
+ HY = 'hy'.freeze,
106
+
107
+ # TODO: Write general description for IDID
108
+ IDID = 'id-id'.freeze,
109
+
110
+ # TODO: Write general description for IT
111
+ IT = 'it'.freeze,
112
+
113
+ # TODO: Write general description for ITCH
114
+ ITCH = 'it-ch'.freeze,
115
+
116
+ # TODO: Write general description for JAJP
117
+ JAJP = 'ja-jp'.freeze,
118
+
119
+ # TODO: Write general description for KO
120
+ KO = 'ko'.freeze,
121
+
122
+ # TODO: Write general description for MSMY
123
+ MSMY = 'ms-my'.freeze,
124
+
125
+ # TODO: Write general description for NLNL
126
+ NLNL = 'nl-nl'.freeze,
127
+
128
+ # TODO: Write general description for NONO
129
+ NONO = 'no-no'.freeze,
130
+
131
+ # TODO: Write general description for PLPL
132
+ PLPL = 'pl-pl'.freeze,
133
+
134
+ # TODO: Write general description for PTBR
135
+ PTBR = 'pt-br'.freeze,
136
+
137
+ # TODO: Write general description for PTPT
138
+ PTPT = 'pt-pt'.freeze,
139
+
140
+ # TODO: Write general description for ROMO
141
+ ROMO = 'ro-mo'.freeze,
142
+
143
+ # TODO: Write general description for RORO
144
+ RORO = 'ro-ro'.freeze,
145
+
146
+ # TODO: Write general description for RU
147
+ RU = 'ru'.freeze,
148
+
149
+ # TODO: Write general description for SKSK
150
+ SKSK = 'sk-sk'.freeze,
151
+
152
+ # TODO: Write general description for SVSE
153
+ SVSE = 'sv-se'.freeze,
154
+
155
+ # TODO: Write general description for THTH
156
+ THTH = 'th-th'.freeze,
157
+
158
+ # TODO: Write general description for TL
159
+ TL = 'tl'.freeze,
160
+
161
+ # TODO: Write general description for TRTR
162
+ TRTR = 'tr-tr'.freeze,
163
+
164
+ # TODO: Write general description for UR
165
+ UR = 'ur'.freeze,
166
+
167
+ # TODO: Write general description for VI
168
+ VI = 'vi'.freeze,
169
+
170
+ # TODO: Write general description for ZHCN
171
+ ZHCN = 'zh-cn'.freeze,
172
+
173
+ # TODO: Write general description for ZHHK
174
+ ZHHK = 'zh-hk'.freeze,
175
+
176
+ # TODO: Write general description for ZHTW
177
+ ZHTW = 'zh-tw'.freeze
178
+ ].freeze
179
+
180
+ def self.validate(value)
181
+ return false if value.nil?
182
+
183
+ LANGUAGE.include?(value)
184
+ end
185
+
186
+ def self.from_value(value, default_value = AUTO)
187
+ return default_value if value.nil?
188
+
189
+ str = value.to_s.strip
190
+
191
+ case str.downcase
192
+ when 'auto' then AUTO
193
+ when 'ar' then AR
194
+ when 'arsa' then ARSA
195
+ when 'bn' then BN
196
+ when 'cscz' then CSCZ
197
+ when 'dadk' then DADK
198
+ when 'dede' then DEDE
199
+ when 'en' then EN
200
+ when 'enau' then ENAU
201
+ when 'enca' then ENCA
202
+ when 'engb' then ENGB
203
+ when 'enus' then ENUS
204
+ when 'es' then ES
205
+ when 'es001' then ES001
206
+ when 'esar' then ESAR
207
+ when 'eses' then ESES
208
+ when 'esmx' then ESMX
209
+ when 'esus' then ESUS
210
+ when 'fifi' then FIFI
211
+ when 'fr' then FR
212
+ when 'frca' then FRCA
213
+ when 'heil' then HEIL
214
+ when 'hiin' then HIIN
215
+ when 'ht' then HT
216
+ when 'huhu' then HUHU
217
+ when 'hy' then HY
218
+ when 'idid' then IDID
219
+ when 'it' then IT
220
+ when 'itch' then ITCH
221
+ when 'jajp' then JAJP
222
+ when 'ko' then KO
223
+ when 'msmy' then MSMY
224
+ when 'nlnl' then NLNL
225
+ when 'nono' then NONO
226
+ when 'plpl' then PLPL
227
+ when 'ptbr' then PTBR
228
+ when 'ptpt' then PTPT
229
+ when 'romo' then ROMO
230
+ when 'roro' then RORO
231
+ when 'ru' then RU
232
+ when 'sksk' then SKSK
233
+ when 'svse' then SVSE
234
+ when 'thth' then THTH
235
+ when 'tl' then TL
236
+ when 'trtr' then TRTR
237
+ when 'ur' then UR
238
+ when 'vi' then VI
239
+ when 'zhcn' then ZHCN
240
+ when 'zhhk' then ZHHK
241
+ when 'zhtw' then ZHTW
242
+ else
243
+ default_value
244
+ end
245
+ end
246
+ end
247
+ end