context.dev 2.17.1 → 2.19.0

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 (139) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/industry_retrieve_naics_params.rb +28 -1
  6. data/lib/context_dev/models/industry_retrieve_sic_params.rb +28 -1
  7. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  8. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  9. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  10. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  11. data/lib/context_dev/models/parse_handle_params.rb +8 -6
  12. data/lib/context_dev/models/person_enrich_params.rb +28 -1
  13. data/lib/context_dev/models/web_answers_params.rb +28 -1
  14. data/lib/context_dev/models/web_extract_competitors_params.rb +28 -1
  15. data/lib/context_dev/models/web_extract_styleguide_params.rb +30 -3
  16. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +22 -20
  17. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  18. data/lib/context_dev/models/web_scrape_params.rb +906 -0
  19. data/lib/context_dev/models/web_scrape_response.rb +659 -0
  20. data/lib/context_dev/models/web_screenshot_params.rb +25 -9
  21. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  22. data/lib/context_dev/models/web_search_params.rb +30 -3
  23. data/lib/context_dev/models.rb +8 -20
  24. data/lib/context_dev/resources/brand.rb +0 -36
  25. data/lib/context_dev/resources/industry.rb +6 -2
  26. data/lib/context_dev/resources/monitors.rb +47 -0
  27. data/lib/context_dev/resources/people.rb +3 -1
  28. data/lib/context_dev/resources/web.rb +116 -413
  29. data/lib/context_dev/version.rb +1 -1
  30. data/lib/context_dev.rb +8 -21
  31. data/rbi/context_dev/client.rbi +0 -3
  32. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +59 -0
  33. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +57 -0
  34. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  35. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  36. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  37. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  38. data/rbi/context_dev/models/parse_handle_params.rbi +12 -9
  39. data/rbi/context_dev/models/person_enrich_params.rbi +45 -0
  40. data/rbi/context_dev/models/web_answers_params.rbi +45 -0
  41. data/rbi/context_dev/models/web_extract_competitors_params.rbi +59 -0
  42. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +62 -3
  43. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +35 -54
  44. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  45. data/rbi/context_dev/models/web_scrape_params.rbi +2000 -0
  46. data/rbi/context_dev/models/{web_web_scrape_html_response.rbi → web_scrape_response.rbi} +550 -418
  47. data/rbi/context_dev/models/web_screenshot_params.rbi +38 -12
  48. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  49. data/rbi/context_dev/models/web_search_params.rbi +48 -3
  50. data/rbi/context_dev/models.rbi +9 -21
  51. data/rbi/context_dev/resources/brand.rbi +0 -35
  52. data/rbi/context_dev/resources/industry.rbi +14 -0
  53. data/rbi/context_dev/resources/monitors.rbi +24 -0
  54. data/rbi/context_dev/resources/parse.rbi +4 -4
  55. data/rbi/context_dev/resources/people.rbi +7 -0
  56. data/rbi/context_dev/resources/web.rbi +166 -533
  57. data/sig/context_dev/client.rbs +0 -2
  58. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +21 -1
  59. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +21 -1
  60. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  61. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  62. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  63. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  64. data/sig/context_dev/models/person_enrich_params.rbs +21 -1
  65. data/sig/context_dev/models/web_answers_params.rbs +21 -1
  66. data/sig/context_dev/models/web_extract_competitors_params.rbs +21 -1
  67. data/sig/context_dev/models/web_extract_styleguide_params.rbs +21 -1
  68. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  69. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  70. data/sig/context_dev/models/web_scrape_params.rbs +834 -0
  71. data/sig/context_dev/models/web_scrape_response.rbs +552 -0
  72. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  73. data/sig/context_dev/models/web_search_params.rbs +21 -1
  74. data/sig/context_dev/models.rbs +8 -20
  75. data/sig/context_dev/resources/brand.rbs +0 -9
  76. data/sig/context_dev/resources/industry.rbs +2 -0
  77. data/sig/context_dev/resources/monitors.rbs +11 -0
  78. data/sig/context_dev/resources/people.rbs +1 -0
  79. data/sig/context_dev/resources/web.rbs +34 -108
  80. metadata +26 -65
  81. data/lib/context_dev/models/ai_extract_product_params.rb +0 -98
  82. data/lib/context_dev/models/ai_extract_product_response.rb +0 -352
  83. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  84. data/lib/context_dev/models/ai_extract_products_response.rb +0 -320
  85. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  86. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  87. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  88. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  89. data/lib/context_dev/models/web_extract_params.rb +0 -392
  90. data/lib/context_dev/models/web_extract_response.rb +0 -287
  91. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -344
  92. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  93. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -633
  94. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -588
  95. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -346
  96. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  97. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -668
  98. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  99. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  100. data/lib/context_dev/resources/ai.rb +0 -69
  101. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -199
  102. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -696
  103. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  104. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -623
  105. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  106. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  107. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  108. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  109. data/rbi/context_dev/models/web_extract_params.rbi +0 -736
  110. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  111. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -699
  112. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  113. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1217
  114. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -671
  115. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  116. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1049
  117. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  118. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  119. data/rbi/context_dev/resources/ai.rbi +0 -56
  120. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -86
  121. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -273
  122. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  123. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -252
  124. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  125. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  126. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  127. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  128. data/sig/context_dev/models/web_extract_params.rbs +0 -304
  129. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  130. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  131. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  132. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -730
  133. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -495
  134. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -261
  135. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  136. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  137. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  138. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  139. data/sig/context_dev/resources/ai.rbs +0 -20
@@ -7,7 +7,8 @@ module ContextDev
7
7
  domain: String,
8
8
  max_age_ms: Integer?,
9
9
  tags: ::Array[String],
10
- timeout_opts: ContextDev::WebExtractStyleguideParams::TimeoutOpts
10
+ timeout_opts: ContextDev::WebExtractStyleguideParams::TimeoutOpts,
11
+ zdr: ContextDev::Models::WebExtractStyleguideParams::zdr
11
12
  }
12
13
  & ContextDev::Internal::Type::request_parameters
13
14
 
@@ -41,6 +42,12 @@ module ContextDev
41
42
  ContextDev::WebExtractStyleguideParams::TimeoutOpts
42
43
  ) -> ContextDev::WebExtractStyleguideParams::TimeoutOpts
43
44
 
45
+ attr_reader zdr: ContextDev::Models::WebExtractStyleguideParams::zdr?
46
+
47
+ def zdr=: (
48
+ ContextDev::Models::WebExtractStyleguideParams::zdr
49
+ ) -> ContextDev::Models::WebExtractStyleguideParams::zdr
50
+
44
51
  def initialize: (
45
52
  ?color_scheme: ContextDev::Models::WebExtractStyleguideParams::color_scheme,
46
53
  ?direct_url: String,
@@ -48,6 +55,7 @@ module ContextDev
48
55
  ?max_age_ms: Integer?,
49
56
  ?tags: ::Array[String],
50
57
  ?timeout_opts: ContextDev::WebExtractStyleguideParams::TimeoutOpts,
58
+ ?zdr: ContextDev::Models::WebExtractStyleguideParams::zdr,
51
59
  ?request_options: ContextDev::request_opts
52
60
  ) -> void
53
61
 
@@ -58,6 +66,7 @@ module ContextDev
58
66
  max_age_ms: Integer?,
59
67
  tags: ::Array[String],
60
68
  timeout_opts: ContextDev::WebExtractStyleguideParams::TimeoutOpts,
69
+ zdr: ContextDev::Models::WebExtractStyleguideParams::zdr,
61
70
  request_options: ContextDev::RequestOptions
62
71
  }
63
72
 
@@ -108,6 +117,17 @@ module ContextDev
108
117
  def self?.values: -> ::Array[ContextDev::Models::WebExtractStyleguideParams::TimeoutOpts::behavior]
109
118
  end
110
119
  end
120
+
121
+ type zdr = :enabled | :disabled
122
+
123
+ module Zdr
124
+ extend ContextDev::Internal::Type::Enum
125
+
126
+ ENABLED: :enabled
127
+ DISABLED: :disabled
128
+
129
+ def self?.values: -> ::Array[ContextDev::Models::WebExtractStyleguideParams::zdr]
130
+ end
111
131
  end
112
132
  end
113
133
  end
@@ -1,6 +1,6 @@
1
1
  module ContextDev
2
2
  module Models
3
- type web_web_scrape_sitemap_params =
3
+ type web_map_urls_params =
4
4
  {
5
5
  domain: String,
6
6
  headers: ::Hash[Symbol, String],
@@ -9,13 +9,13 @@ module ContextDev
9
9
  search: String,
10
10
  sitemap_url: String,
11
11
  tags: ::Array[String],
12
- timeout_opts: ContextDev::WebWebScrapeSitemapParams::TimeoutOpts,
12
+ timeout_opts: ContextDev::WebMapURLsParams::TimeoutOpts,
13
13
  url_regex: String,
14
- zdr: ContextDev::Models::WebWebScrapeSitemapParams::zdr
14
+ zdr: ContextDev::Models::WebMapURLsParams::zdr
15
15
  }
16
16
  & ContextDev::Internal::Type::request_parameters
17
17
 
18
- class WebWebScrapeSitemapParams < ContextDev::Internal::Type::BaseModel
18
+ class WebMapURLsParams < ContextDev::Internal::Type::BaseModel
19
19
  extend ContextDev::Internal::Type::RequestParameters::Converter
20
20
  include ContextDev::Internal::Type::RequestParameters
21
21
 
@@ -45,21 +45,21 @@ module ContextDev
45
45
 
46
46
  def tags=: (::Array[String]) -> ::Array[String]
47
47
 
48
- attr_reader timeout_opts: ContextDev::WebWebScrapeSitemapParams::TimeoutOpts?
48
+ attr_reader timeout_opts: ContextDev::WebMapURLsParams::TimeoutOpts?
49
49
 
50
50
  def timeout_opts=: (
51
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts
52
- ) -> ContextDev::WebWebScrapeSitemapParams::TimeoutOpts
51
+ ContextDev::WebMapURLsParams::TimeoutOpts
52
+ ) -> ContextDev::WebMapURLsParams::TimeoutOpts
53
53
 
54
54
  attr_reader url_regex: String?
55
55
 
56
56
  def url_regex=: (String) -> String
57
57
 
58
- attr_reader zdr: ContextDev::Models::WebWebScrapeSitemapParams::zdr?
58
+ attr_reader zdr: ContextDev::Models::WebMapURLsParams::zdr?
59
59
 
60
60
  def zdr=: (
61
- ContextDev::Models::WebWebScrapeSitemapParams::zdr
62
- ) -> ContextDev::Models::WebWebScrapeSitemapParams::zdr
61
+ ContextDev::Models::WebMapURLsParams::zdr
62
+ ) -> ContextDev::Models::WebMapURLsParams::zdr
63
63
 
64
64
  def initialize: (
65
65
  domain: String,
@@ -69,9 +69,9 @@ module ContextDev
69
69
  ?search: String,
70
70
  ?sitemap_url: String,
71
71
  ?tags: ::Array[String],
72
- ?timeout_opts: ContextDev::WebWebScrapeSitemapParams::TimeoutOpts,
72
+ ?timeout_opts: ContextDev::WebMapURLsParams::TimeoutOpts,
73
73
  ?url_regex: String,
74
- ?zdr: ContextDev::Models::WebWebScrapeSitemapParams::zdr,
74
+ ?zdr: ContextDev::Models::WebMapURLsParams::zdr,
75
75
  ?request_options: ContextDev::request_opts
76
76
  ) -> void
77
77
 
@@ -83,35 +83,35 @@ module ContextDev
83
83
  search: String,
84
84
  sitemap_url: String,
85
85
  tags: ::Array[String],
86
- timeout_opts: ContextDev::WebWebScrapeSitemapParams::TimeoutOpts,
86
+ timeout_opts: ContextDev::WebMapURLsParams::TimeoutOpts,
87
87
  url_regex: String,
88
- zdr: ContextDev::Models::WebWebScrapeSitemapParams::zdr,
88
+ zdr: ContextDev::Models::WebMapURLsParams::zdr,
89
89
  request_options: ContextDev::RequestOptions
90
90
  }
91
91
 
92
92
  type timeout_opts =
93
93
  {
94
94
  milliseconds: Integer,
95
- behavior: ContextDev::Models::WebWebScrapeSitemapParams::TimeoutOpts::behavior
95
+ behavior: ContextDev::Models::WebMapURLsParams::TimeoutOpts::behavior
96
96
  }
97
97
 
98
98
  class TimeoutOpts < ContextDev::Internal::Type::BaseModel
99
99
  attr_accessor milliseconds: Integer
100
100
 
101
- attr_reader behavior: ContextDev::Models::WebWebScrapeSitemapParams::TimeoutOpts::behavior?
101
+ attr_reader behavior: ContextDev::Models::WebMapURLsParams::TimeoutOpts::behavior?
102
102
 
103
103
  def behavior=: (
104
- ContextDev::Models::WebWebScrapeSitemapParams::TimeoutOpts::behavior
105
- ) -> ContextDev::Models::WebWebScrapeSitemapParams::TimeoutOpts::behavior
104
+ ContextDev::Models::WebMapURLsParams::TimeoutOpts::behavior
105
+ ) -> ContextDev::Models::WebMapURLsParams::TimeoutOpts::behavior
106
106
 
107
107
  def initialize: (
108
108
  milliseconds: Integer,
109
- ?behavior: ContextDev::Models::WebWebScrapeSitemapParams::TimeoutOpts::behavior
109
+ ?behavior: ContextDev::Models::WebMapURLsParams::TimeoutOpts::behavior
110
110
  ) -> void
111
111
 
112
112
  def to_hash: -> {
113
113
  milliseconds: Integer,
114
- behavior: ContextDev::Models::WebWebScrapeSitemapParams::TimeoutOpts::behavior
114
+ behavior: ContextDev::Models::WebMapURLsParams::TimeoutOpts::behavior
115
115
  }
116
116
 
117
117
  type behavior = :fail | :"return-partial"
@@ -122,7 +122,7 @@ module ContextDev
122
122
  FAIL: :fail
123
123
  RETURN_PARTIAL: :"return-partial"
124
124
 
125
- def self?.values: -> ::Array[ContextDev::Models::WebWebScrapeSitemapParams::TimeoutOpts::behavior]
125
+ def self?.values: -> ::Array[ContextDev::Models::WebMapURLsParams::TimeoutOpts::behavior]
126
126
  end
127
127
  end
128
128
 
@@ -134,7 +134,7 @@ module ContextDev
134
134
  ENABLED: :enabled
135
135
  DISABLED: :disabled
136
136
 
137
- def self?.values: -> ::Array[ContextDev::Models::WebWebScrapeSitemapParams::zdr]
137
+ def self?.values: -> ::Array[ContextDev::Models::WebMapURLsParams::zdr]
138
138
  end
139
139
  end
140
140
  end
@@ -0,0 +1,125 @@
1
+ module ContextDev
2
+ module Models
3
+ type web_map_urls_response =
4
+ {
5
+ domain: String,
6
+ request_id: String,
7
+ success: ContextDev::Models::WebMapURLsResponse::success,
8
+ urls: ::Array[ContextDev::Models::WebMapURLsResponse::URL],
9
+ key_metadata: ContextDev::Models::WebMapURLsResponse::KeyMetadata,
10
+ partial: bool
11
+ }
12
+
13
+ class WebMapURLsResponse < ContextDev::Internal::Type::BaseModel
14
+ attr_accessor domain: String
15
+
16
+ attr_accessor request_id: String
17
+
18
+ attr_accessor success: ContextDev::Models::WebMapURLsResponse::success
19
+
20
+ attr_accessor urls: ::Array[ContextDev::Models::WebMapURLsResponse::URL]
21
+
22
+ attr_reader key_metadata: ContextDev::Models::WebMapURLsResponse::KeyMetadata?
23
+
24
+ def key_metadata=: (
25
+ ContextDev::Models::WebMapURLsResponse::KeyMetadata
26
+ ) -> ContextDev::Models::WebMapURLsResponse::KeyMetadata
27
+
28
+ attr_reader partial: bool?
29
+
30
+ def partial=: (bool) -> bool
31
+
32
+ def initialize: (
33
+ domain: String,
34
+ request_id: String,
35
+ success: ContextDev::Models::WebMapURLsResponse::success,
36
+ urls: ::Array[ContextDev::Models::WebMapURLsResponse::URL],
37
+ ?key_metadata: ContextDev::Models::WebMapURLsResponse::KeyMetadata,
38
+ ?partial: bool
39
+ ) -> void
40
+
41
+ def to_hash: -> {
42
+ domain: String,
43
+ request_id: String,
44
+ success: ContextDev::Models::WebMapURLsResponse::success,
45
+ urls: ::Array[ContextDev::Models::WebMapURLsResponse::URL],
46
+ key_metadata: ContextDev::Models::WebMapURLsResponse::KeyMetadata,
47
+ partial: bool
48
+ }
49
+
50
+ type success = true
51
+
52
+ module Success
53
+ extend ContextDev::Internal::Type::Enum
54
+
55
+ TRUE: true
56
+
57
+ def self?.values: -> ::Array[ContextDev::Models::WebMapURLsResponse::success]
58
+ end
59
+
60
+ type url =
61
+ {
62
+ url: String,
63
+ description: String,
64
+ keywords: ::Array[String],
65
+ language: String,
66
+ title: String
67
+ }
68
+
69
+ class URL < ContextDev::Internal::Type::BaseModel
70
+ attr_accessor url: String
71
+
72
+ attr_reader description: String?
73
+
74
+ def description=: (String) -> String
75
+
76
+ attr_reader keywords: ::Array[String]?
77
+
78
+ def keywords=: (::Array[String]) -> ::Array[String]
79
+
80
+ attr_reader language: String?
81
+
82
+ def language=: (String) -> String
83
+
84
+ attr_reader title: String?
85
+
86
+ def title=: (String) -> String
87
+
88
+ def initialize: (
89
+ url: String,
90
+ ?description: String,
91
+ ?keywords: ::Array[String],
92
+ ?language: String,
93
+ ?title: String
94
+ ) -> void
95
+
96
+ def to_hash: -> {
97
+ url: String,
98
+ description: String,
99
+ keywords: ::Array[String],
100
+ language: String,
101
+ title: String
102
+ }
103
+ end
104
+
105
+ type key_metadata =
106
+ { credits_consumed: Integer, credits_remaining: Integer }
107
+
108
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
109
+ attr_accessor credits_consumed: Integer
110
+
111
+ attr_accessor credits_remaining: Integer
112
+
113
+ def initialize: (
114
+ credits_consumed: Integer,
115
+ credits_remaining: Integer
116
+ ) -> void
117
+
118
+ def to_hash: -> {
119
+ credits_consumed: Integer,
120
+ credits_remaining: Integer
121
+ }
122
+ end
123
+ end
124
+ end
125
+ end