yasmina-motor-ruby 0.0.71
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 +7 -0
- data/.fern/metadata.json +10 -0
- data/.fern/replay.lock +10 -0
- data/.fernignore +4 -0
- data/.rubocop.yml +103 -0
- data/CONTRIBUTING.md +120 -0
- data/LICENSE +21 -0
- data/README.md +173 -0
- data/Rakefile +20 -0
- data/custom.gemspec.rb +16 -0
- data/lib/yasminaai/client.rb +37 -0
- data/lib/yasminaai/environment.rb +9 -0
- data/lib/yasminaai/errors/api_error.rb +8 -0
- data/lib/yasminaai/errors/client_error.rb +17 -0
- data/lib/yasminaai/errors/redirect_error.rb +8 -0
- data/lib/yasminaai/errors/response_error.rb +42 -0
- data/lib/yasminaai/errors/server_error.rb +11 -0
- data/lib/yasminaai/errors/timeout_error.rb +8 -0
- data/lib/yasminaai/internal/errors/constraint_error.rb +10 -0
- data/lib/yasminaai/internal/errors/type_error.rb +10 -0
- data/lib/yasminaai/internal/http/base_request.rb +51 -0
- data/lib/yasminaai/internal/http/raw_client.rb +215 -0
- data/lib/yasminaai/internal/iterators/cursor_item_iterator.rb +28 -0
- data/lib/yasminaai/internal/iterators/cursor_page_iterator.rb +63 -0
- data/lib/yasminaai/internal/iterators/item_iterator.rb +65 -0
- data/lib/yasminaai/internal/iterators/offset_item_iterator.rb +30 -0
- data/lib/yasminaai/internal/iterators/offset_page_iterator.rb +103 -0
- data/lib/yasminaai/internal/json/request.rb +41 -0
- data/lib/yasminaai/internal/json/serializable.rb +25 -0
- data/lib/yasminaai/internal/multipart/multipart_encoder.rb +141 -0
- data/lib/yasminaai/internal/multipart/multipart_form_data.rb +78 -0
- data/lib/yasminaai/internal/multipart/multipart_form_data_part.rb +51 -0
- data/lib/yasminaai/internal/multipart/multipart_request.rb +40 -0
- data/lib/yasminaai/internal/types/array.rb +47 -0
- data/lib/yasminaai/internal/types/boolean.rb +34 -0
- data/lib/yasminaai/internal/types/enum.rb +56 -0
- data/lib/yasminaai/internal/types/hash.rb +36 -0
- data/lib/yasminaai/internal/types/model/field.rb +38 -0
- data/lib/yasminaai/internal/types/model.rb +208 -0
- data/lib/yasminaai/internal/types/type.rb +35 -0
- data/lib/yasminaai/internal/types/union.rb +161 -0
- data/lib/yasminaai/internal/types/unknown.rb +15 -0
- data/lib/yasminaai/internal/types/utils.rb +116 -0
- data/lib/yasminaai/ot_ps/client.rb +79 -0
- data/lib/yasminaai/ot_ps/types/post_issue_otp_request.rb +21 -0
- data/lib/yasminaai/ot_ps/types/post_quote_otp_request.rb +15 -0
- data/lib/yasminaai/policies/client.rb +144 -0
- data/lib/yasminaai/policies/types/get_policies_car_policy_request.rb +11 -0
- data/lib/yasminaai/policies/types/get_policies_request.rb +35 -0
- data/lib/yasminaai/policies/types/post_policies_request.rb +21 -0
- data/lib/yasminaai/quotes/client.rb +164 -0
- data/lib/yasminaai/quotes/types/delete_quote_requests_id_request.rb +11 -0
- data/lib/yasminaai/quotes/types/delete_quote_requests_id_response.rb +11 -0
- data/lib/yasminaai/quotes/types/get_quote_requests_id_request.rb +11 -0
- data/lib/yasminaai/quotes/types/get_quote_requests_request.rb +17 -0
- data/lib/yasminaai/quotes/types/post_quote_requests_request.rb +37 -0
- data/lib/yasminaai/quotes/types/post_quote_requests_request_accept_language.rb +13 -0
- data/lib/yasminaai/quotes/types/post_quote_requests_request_drivers_item.rb +15 -0
- data/lib/yasminaai/types/bad_request_error_body.rb +11 -0
- data/lib/yasminaai/types/benefit.rb +21 -0
- data/lib/yasminaai/types/company_quote.rb +25 -0
- data/lib/yasminaai/types/company_quote_type.rb +12 -0
- data/lib/yasminaai/types/error.rb +11 -0
- data/lib/yasminaai/types/paginated_policy_response.rb +35 -0
- data/lib/yasminaai/types/paginated_quote_response.rb +35 -0
- data/lib/yasminaai/types/pagination_link.rb +13 -0
- data/lib/yasminaai/types/policy.rb +39 -0
- data/lib/yasminaai/types/policy_aggregates.rb +14 -0
- data/lib/yasminaai/types/policy_month_aggregate.rb +11 -0
- data/lib/yasminaai/types/quote_price.rb +19 -0
- data/lib/yasminaai/types/quote_request_aggregates.rb +12 -0
- data/lib/yasminaai/types/quote_response.rb +37 -0
- data/lib/yasminaai/types/quote_response_drivers_item.rb +13 -0
- data/lib/yasminaai/types/quote_response_quotes_item.rb +25 -0
- data/lib/yasminaai/types/quote_response_quotes_item_type.rb +12 -0
- data/lib/yasminaai/types/unauthorized_error_body.rb +11 -0
- data/lib/yasminaai/version.rb +5 -0
- data/lib/yasminaai.rb +72 -0
- data/reference.md +872 -0
- metadata +121 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Yasminaai
|
|
4
|
+
module Types
|
|
5
|
+
class Policy < Internal::Types::Model
|
|
6
|
+
field :id, -> { Integer }, optional: true, nullable: false
|
|
7
|
+
|
|
8
|
+
field :meta_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :start_date, -> { String }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :provider_policy_id, -> { Integer }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :provider_policy, -> { String }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :order_status, -> { Integer }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :approval_status, -> { Integer }, optional: true, nullable: false
|
|
19
|
+
|
|
20
|
+
field :end_date, -> { String }, optional: true, nullable: false
|
|
21
|
+
|
|
22
|
+
field :is_claimed, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
23
|
+
|
|
24
|
+
field :created_at, -> { String }, optional: true, nullable: false
|
|
25
|
+
|
|
26
|
+
field :uploaded_at, -> { String }, optional: true, nullable: false
|
|
27
|
+
|
|
28
|
+
field :updated_at, -> { String }, optional: true, nullable: false
|
|
29
|
+
|
|
30
|
+
field :client_id, -> { String }, optional: true, nullable: false
|
|
31
|
+
|
|
32
|
+
field :canceled_at, -> { String }, optional: true, nullable: false
|
|
33
|
+
|
|
34
|
+
field :invoice, -> { String }, optional: true, nullable: false
|
|
35
|
+
|
|
36
|
+
field :cancellation_document, -> { String }, optional: true, nullable: false
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Yasminaai
|
|
4
|
+
module Types
|
|
5
|
+
# Returned only when include_aggregates is true.
|
|
6
|
+
class PolicyAggregates < Internal::Types::Model
|
|
7
|
+
field :total_count, -> { Integer }, optional: true, nullable: false
|
|
8
|
+
|
|
9
|
+
field :total_price, -> { Integer }, optional: true, nullable: false
|
|
10
|
+
|
|
11
|
+
field :by_month, -> { Internal::Types::Hash[String, Yasminaai::Types::PolicyMonthAggregate] }, optional: true, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Yasminaai
|
|
4
|
+
module Types
|
|
5
|
+
class PolicyMonthAggregate < Internal::Types::Model
|
|
6
|
+
field :count, -> { Integer }, optional: true, nullable: false
|
|
7
|
+
|
|
8
|
+
field :total_price, -> { Integer }, optional: true, nullable: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Yasminaai
|
|
4
|
+
module Types
|
|
5
|
+
class QuotePrice < Internal::Types::Model
|
|
6
|
+
field :quote_price_id, -> { String }, optional: true, nullable: false
|
|
7
|
+
|
|
8
|
+
field :deductible, -> { Integer }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :subtotal, -> { Integer }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :vat_percentage, -> { Integer }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :vat, -> { Integer }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :total, -> { Integer }, optional: true, nullable: false
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Yasminaai
|
|
4
|
+
module Types
|
|
5
|
+
# Returned only when include_aggregates is true.
|
|
6
|
+
class QuoteRequestAggregates < Internal::Types::Model
|
|
7
|
+
field :total_count, -> { Integer }, optional: true, nullable: false
|
|
8
|
+
|
|
9
|
+
field :by_month, -> { Internal::Types::Hash[String, Integer] }, optional: true, nullable: false
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Yasminaai
|
|
4
|
+
module Types
|
|
5
|
+
class QuoteResponse < Internal::Types::Model
|
|
6
|
+
field :owner_id, -> { Integer }, optional: true, nullable: false
|
|
7
|
+
|
|
8
|
+
field :phone, -> { String }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :birthdate, -> { String }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :car_sequence_number, -> { Integer }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :custom_number, -> { String }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :is_ownership_transfer, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :car_estimated_cost, -> { Integer }, optional: true, nullable: false
|
|
19
|
+
|
|
20
|
+
field :car_model_year, -> { Integer }, optional: true, nullable: false
|
|
21
|
+
|
|
22
|
+
field :start_date, -> { String }, optional: true, nullable: false
|
|
23
|
+
|
|
24
|
+
field :drivers, -> { Internal::Types::Array[Yasminaai::Types::QuoteResponseDriversItem] }, optional: true, nullable: false
|
|
25
|
+
|
|
26
|
+
field :quotes, -> { Internal::Types::Array[Yasminaai::Types::QuoteResponseQuotesItem] }, optional: true, nullable: false
|
|
27
|
+
|
|
28
|
+
field :client_id, -> { String }, optional: true, nullable: false
|
|
29
|
+
|
|
30
|
+
field :updated_at, -> { String }, optional: true, nullable: false
|
|
31
|
+
|
|
32
|
+
field :created_at, -> { String }, optional: true, nullable: false
|
|
33
|
+
|
|
34
|
+
field :id, -> { Integer }, optional: true, nullable: false
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Yasminaai
|
|
4
|
+
module Types
|
|
5
|
+
class QuoteResponseDriversItem < Internal::Types::Model
|
|
6
|
+
field :owner_id, -> { String }, optional: true, nullable: false
|
|
7
|
+
|
|
8
|
+
field :birthdate, -> { String }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :driving_percentage, -> { Integer }, optional: true, nullable: false
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Yasminaai
|
|
4
|
+
module Types
|
|
5
|
+
class QuoteResponseQuotesItem < Internal::Types::Model
|
|
6
|
+
field :company_name, -> { String }, optional: true, nullable: false
|
|
7
|
+
|
|
8
|
+
field :company_name_ar, -> { String }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :type, -> { Yasminaai::Types::QuoteResponseQuotesItemType }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :insurance_type_display, -> { String }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :insurance_type_display_ar, -> { String }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :company_logo_url, -> { String }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :square_company_logo_url, -> { String }, optional: true, nullable: false
|
|
19
|
+
|
|
20
|
+
field :prices, -> { Internal::Types::Array[Yasminaai::Types::QuotePrice] }, optional: true, nullable: false
|
|
21
|
+
|
|
22
|
+
field :benefits, -> { Internal::Types::Array[Yasminaai::Types::Benefit] }, optional: true, nullable: false
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Yasminaai
|
|
4
|
+
module Types
|
|
5
|
+
class UnauthorizedErrorBody < Internal::Types::Model
|
|
6
|
+
field :code, -> { String }, optional: true, nullable: false
|
|
7
|
+
|
|
8
|
+
field :message, -> { String }, optional: true, nullable: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
data/lib/yasminaai.rb
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require "net/http"
|
|
5
|
+
require "securerandom"
|
|
6
|
+
|
|
7
|
+
require_relative "yasminaai/internal/json/serializable"
|
|
8
|
+
require_relative "yasminaai/internal/types/type"
|
|
9
|
+
require_relative "yasminaai/internal/types/utils"
|
|
10
|
+
require_relative "yasminaai/internal/types/union"
|
|
11
|
+
require_relative "yasminaai/internal/errors/constraint_error"
|
|
12
|
+
require_relative "yasminaai/internal/errors/type_error"
|
|
13
|
+
require_relative "yasminaai/internal/http/base_request"
|
|
14
|
+
require_relative "yasminaai/internal/json/request"
|
|
15
|
+
require_relative "yasminaai/internal/http/raw_client"
|
|
16
|
+
require_relative "yasminaai/internal/multipart/multipart_encoder"
|
|
17
|
+
require_relative "yasminaai/internal/multipart/multipart_form_data_part"
|
|
18
|
+
require_relative "yasminaai/internal/multipart/multipart_form_data"
|
|
19
|
+
require_relative "yasminaai/internal/multipart/multipart_request"
|
|
20
|
+
require_relative "yasminaai/internal/types/model/field"
|
|
21
|
+
require_relative "yasminaai/internal/types/model"
|
|
22
|
+
require_relative "yasminaai/internal/types/array"
|
|
23
|
+
require_relative "yasminaai/internal/types/boolean"
|
|
24
|
+
require_relative "yasminaai/internal/types/enum"
|
|
25
|
+
require_relative "yasminaai/internal/types/hash"
|
|
26
|
+
require_relative "yasminaai/internal/types/unknown"
|
|
27
|
+
require_relative "yasminaai/errors/api_error"
|
|
28
|
+
require_relative "yasminaai/errors/response_error"
|
|
29
|
+
require_relative "yasminaai/errors/client_error"
|
|
30
|
+
require_relative "yasminaai/errors/redirect_error"
|
|
31
|
+
require_relative "yasminaai/errors/server_error"
|
|
32
|
+
require_relative "yasminaai/errors/timeout_error"
|
|
33
|
+
require_relative "yasminaai/internal/iterators/item_iterator"
|
|
34
|
+
require_relative "yasminaai/internal/iterators/cursor_item_iterator"
|
|
35
|
+
require_relative "yasminaai/internal/iterators/offset_item_iterator"
|
|
36
|
+
require_relative "yasminaai/internal/iterators/cursor_page_iterator"
|
|
37
|
+
require_relative "yasminaai/internal/iterators/offset_page_iterator"
|
|
38
|
+
require_relative "yasminaai/quotes/types/delete_quote_requests_id_response"
|
|
39
|
+
require_relative "yasminaai/quotes/types/post_quote_requests_request_accept_language"
|
|
40
|
+
require_relative "yasminaai/quotes/types/post_quote_requests_request_drivers_item"
|
|
41
|
+
require_relative "yasminaai/types/unauthorized_error_body"
|
|
42
|
+
require_relative "yasminaai/types/bad_request_error_body"
|
|
43
|
+
require_relative "yasminaai/types/quote_response_drivers_item"
|
|
44
|
+
require_relative "yasminaai/types/quote_response_quotes_item_type"
|
|
45
|
+
require_relative "yasminaai/types/quote_price"
|
|
46
|
+
require_relative "yasminaai/types/benefit"
|
|
47
|
+
require_relative "yasminaai/types/quote_response_quotes_item"
|
|
48
|
+
require_relative "yasminaai/types/quote_response"
|
|
49
|
+
require_relative "yasminaai/types/company_quote_type"
|
|
50
|
+
require_relative "yasminaai/types/company_quote"
|
|
51
|
+
require_relative "yasminaai/types/policy"
|
|
52
|
+
require_relative "yasminaai/types/pagination_link"
|
|
53
|
+
require_relative "yasminaai/types/quote_request_aggregates"
|
|
54
|
+
require_relative "yasminaai/types/policy_month_aggregate"
|
|
55
|
+
require_relative "yasminaai/types/policy_aggregates"
|
|
56
|
+
require_relative "yasminaai/types/paginated_quote_response"
|
|
57
|
+
require_relative "yasminaai/types/paginated_policy_response"
|
|
58
|
+
require_relative "yasminaai/types/error"
|
|
59
|
+
require_relative "yasminaai/client"
|
|
60
|
+
require_relative "yasminaai/quotes/client"
|
|
61
|
+
require_relative "yasminaai/quotes/types/get_quote_requests_id_request"
|
|
62
|
+
require_relative "yasminaai/quotes/types/delete_quote_requests_id_request"
|
|
63
|
+
require_relative "yasminaai/quotes/types/get_quote_requests_request"
|
|
64
|
+
require_relative "yasminaai/quotes/types/post_quote_requests_request"
|
|
65
|
+
require_relative "yasminaai/policies/client"
|
|
66
|
+
require_relative "yasminaai/policies/types/get_policies_car_policy_request"
|
|
67
|
+
require_relative "yasminaai/policies/types/get_policies_request"
|
|
68
|
+
require_relative "yasminaai/policies/types/post_policies_request"
|
|
69
|
+
require_relative "yasminaai/ot_ps/client"
|
|
70
|
+
require_relative "yasminaai/ot_ps/types/post_quote_otp_request"
|
|
71
|
+
require_relative "yasminaai/ot_ps/types/post_issue_otp_request"
|
|
72
|
+
require_relative "yasminaai/environment"
|