roast-ai 0.4.4 → 0.4.5

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 (231) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +2 -0
  3. data/.github/workflows/ci.yaml +1 -0
  4. data/.gitignore +0 -26
  5. data/.rubocop.yml +13 -0
  6. data/.rubocop_todo.yml +21 -0
  7. data/CHANGELOG.md +29 -0
  8. data/Gemfile +4 -0
  9. data/Gemfile.lock +43 -1
  10. data/bin/rubocop +27 -0
  11. data/bin/spoom +27 -0
  12. data/bin/srb +27 -0
  13. data/bin/srb-rbi +27 -0
  14. data/bin/tapioca +27 -0
  15. data/docs/INSTRUMENTATION.md +3 -3
  16. data/dsl/simple.rb +10 -0
  17. data/lib/roast/dsl/executor.rb +26 -0
  18. data/lib/roast/dsl.rb +7 -0
  19. data/lib/roast/errors.rb +1 -0
  20. data/lib/roast/factories/api_provider_factory.rb +1 -0
  21. data/lib/roast/helpers/function_caching_interceptor.rb +3 -0
  22. data/lib/roast/helpers/logger.rb +6 -9
  23. data/lib/roast/helpers/metadata_access.rb +1 -0
  24. data/lib/roast/helpers/minitest_coverage_runner.rb +1 -0
  25. data/lib/roast/helpers/path_resolver.rb +8 -18
  26. data/lib/roast/helpers/prompt_loader.rb +3 -2
  27. data/lib/roast/helpers/timeout_handler.rb +3 -5
  28. data/lib/roast/initializers.rb +1 -0
  29. data/lib/roast/resources/api_resource.rb +4 -3
  30. data/lib/roast/resources/base_resource.rb +1 -0
  31. data/lib/roast/resources/directory_resource.rb +1 -0
  32. data/lib/roast/resources/file_resource.rb +1 -0
  33. data/lib/roast/resources/none_resource.rb +1 -0
  34. data/lib/roast/resources/url_resource.rb +2 -1
  35. data/lib/roast/resources.rb +1 -2
  36. data/lib/roast/services/context_threshold_checker.rb +1 -0
  37. data/lib/roast/services/token_counting_service.rb +1 -0
  38. data/lib/roast/tools/apply_diff.rb +1 -0
  39. data/lib/roast/tools/ask_user.rb +1 -0
  40. data/lib/roast/tools/bash.rb +1 -0
  41. data/lib/roast/tools/cmd.rb +1 -0
  42. data/lib/roast/tools/coding_agent.rb +1 -0
  43. data/lib/roast/tools/context_summarizer.rb +1 -0
  44. data/lib/roast/tools/grep.rb +1 -0
  45. data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -0
  46. data/lib/roast/tools/read_file.rb +1 -0
  47. data/lib/roast/tools/search_file.rb +1 -0
  48. data/lib/roast/tools/swarm.rb +1 -0
  49. data/lib/roast/tools/update_files.rb +1 -0
  50. data/lib/roast/tools/write_file.rb +1 -0
  51. data/lib/roast/tools.rb +2 -0
  52. data/lib/roast/value_objects/api_token.rb +1 -0
  53. data/lib/roast/value_objects/step_name.rb +1 -0
  54. data/lib/roast/value_objects/uri_base.rb +1 -0
  55. data/lib/roast/value_objects/workflow_path.rb +1 -0
  56. data/lib/roast/value_objects.rb +1 -0
  57. data/lib/roast/version.rb +2 -1
  58. data/lib/roast/workflow/agent_step.rb +1 -0
  59. data/lib/roast/workflow/api_configuration.rb +1 -0
  60. data/lib/roast/workflow/base_iteration_step.rb +1 -0
  61. data/lib/roast/workflow/base_step.rb +1 -0
  62. data/lib/roast/workflow/base_workflow.rb +1 -0
  63. data/lib/roast/workflow/case_executor.rb +1 -0
  64. data/lib/roast/workflow/case_step.rb +1 -0
  65. data/lib/roast/workflow/command_executor.rb +1 -0
  66. data/lib/roast/workflow/conditional_executor.rb +1 -0
  67. data/lib/roast/workflow/conditional_step.rb +1 -0
  68. data/lib/roast/workflow/configuration.rb +9 -0
  69. data/lib/roast/workflow/configuration_loader.rb +4 -1
  70. data/lib/roast/workflow/context_manager.rb +1 -0
  71. data/lib/roast/workflow/context_path_resolver.rb +1 -0
  72. data/lib/roast/workflow/dot_access_hash.rb +1 -0
  73. data/lib/roast/workflow/each_step.rb +1 -0
  74. data/lib/roast/workflow/error_handler.rb +7 -1
  75. data/lib/roast/workflow/expression_evaluator.rb +1 -0
  76. data/lib/roast/workflow/expression_utils.rb +1 -0
  77. data/lib/roast/workflow/file_state_repository.rb +2 -1
  78. data/lib/roast/workflow/input_executor.rb +1 -0
  79. data/lib/roast/workflow/input_step.rb +1 -0
  80. data/lib/roast/workflow/interpolator.rb +2 -1
  81. data/lib/roast/workflow/iteration_executor.rb +1 -0
  82. data/lib/roast/workflow/llm_boolean_coercer.rb +1 -0
  83. data/lib/roast/workflow/metadata_manager.rb +1 -0
  84. data/lib/roast/workflow/output_handler.rb +1 -0
  85. data/lib/roast/workflow/output_manager.rb +1 -0
  86. data/lib/roast/workflow/parallel_executor.rb +1 -0
  87. data/lib/roast/workflow/prompt_step.rb +1 -0
  88. data/lib/roast/workflow/repeat_step.rb +1 -0
  89. data/lib/roast/workflow/replay_handler.rb +1 -0
  90. data/lib/roast/workflow/resource_resolver.rb +2 -6
  91. data/lib/roast/workflow/session_manager.rb +1 -0
  92. data/lib/roast/workflow/shell_script_step.rb +1 -0
  93. data/lib/roast/workflow/sqlite_state_repository.rb +1 -0
  94. data/lib/roast/workflow/state_manager.rb +1 -0
  95. data/lib/roast/workflow/state_repository.rb +1 -0
  96. data/lib/roast/workflow/state_repository_factory.rb +4 -2
  97. data/lib/roast/workflow/step_completion_reporter.rb +1 -0
  98. data/lib/roast/workflow/step_executor_coordinator.rb +9 -5
  99. data/lib/roast/workflow/step_executor_factory.rb +1 -0
  100. data/lib/roast/workflow/step_executor_registry.rb +2 -3
  101. data/lib/roast/workflow/step_executor_with_reporting.rb +1 -0
  102. data/lib/roast/workflow/step_executors/base_step_executor.rb +1 -0
  103. data/lib/roast/workflow/step_executors/hash_step_executor.rb +1 -0
  104. data/lib/roast/workflow/step_executors/parallel_step_executor.rb +1 -0
  105. data/lib/roast/workflow/step_executors/string_step_executor.rb +1 -0
  106. data/lib/roast/workflow/step_factory.rb +1 -0
  107. data/lib/roast/workflow/step_finder.rb +1 -0
  108. data/lib/roast/workflow/step_loader.rb +1 -0
  109. data/lib/roast/workflow/step_name_extractor.rb +1 -0
  110. data/lib/roast/workflow/step_runner.rb +1 -0
  111. data/lib/roast/workflow/step_type_resolver.rb +1 -0
  112. data/lib/roast/workflow/validation_command.rb +1 -0
  113. data/lib/roast/workflow/validator.rb +1 -0
  114. data/lib/roast/workflow/validators/base_validator.rb +1 -0
  115. data/lib/roast/workflow/validators/dependency_validator.rb +1 -0
  116. data/lib/roast/workflow/validators/linting_validator.rb +1 -0
  117. data/lib/roast/workflow/validators/schema_validator.rb +1 -0
  118. data/lib/roast/workflow/validators/step_collector.rb +1 -0
  119. data/lib/roast/workflow/validators/validation_orchestrator.rb +1 -0
  120. data/lib/roast/workflow/workflow_context.rb +1 -0
  121. data/lib/roast/workflow/workflow_execution_context.rb +1 -0
  122. data/lib/roast/workflow/workflow_executor.rb +2 -1
  123. data/lib/roast/workflow/workflow_initializer.rb +1 -0
  124. data/lib/roast/workflow/workflow_runner.rb +66 -55
  125. data/lib/roast/workflow.rb +1 -0
  126. data/lib/roast/workflow_diagram_generator.rb +3 -2
  127. data/lib/roast.rb +23 -8
  128. data/sorbet/config +8 -0
  129. data/sorbet/rbi/dsl/.gitattributes +1 -0
  130. data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
  131. data/sorbet/rbi/gems/.gitattributes +1 -0
  132. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +19107 -0
  133. data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
  134. data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
  135. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  136. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  137. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +62 -0
  138. data/sorbet/rbi/gems/cgi@0.5.0.rbi +2961 -0
  139. data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +568 -0
  140. data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +1991 -0
  141. data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +3181 -0
  142. data/sorbet/rbi/gems/coderay@1.1.3.rbi +9 -0
  143. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +11657 -0
  144. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
  145. data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
  146. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +972 -0
  147. data/sorbet/rbi/gems/dotenv@3.1.8.rbi +295 -0
  148. data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
  149. data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +672 -0
  150. data/sorbet/rbi/gems/dry-core@1.1.0.rbi +1894 -0
  151. data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +659 -0
  152. data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +781 -0
  153. data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +1127 -0
  154. data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +3727 -0
  155. data/sorbet/rbi/gems/dry-types@1.8.3.rbi +3969 -0
  156. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  157. data/sorbet/rbi/gems/event_stream_parser@1.0.0.rbi +49 -0
  158. data/sorbet/rbi/gems/faraday-multipart@1.1.1.rbi +283 -0
  159. data/sorbet/rbi/gems/faraday-net_http@3.4.1.rbi +147 -0
  160. data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +9 -0
  161. data/sorbet/rbi/gems/faraday@2.13.1.rbi +2977 -0
  162. data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +1588 -0
  163. data/sorbet/rbi/gems/ffi@1.17.2.rbi +9 -0
  164. data/sorbet/rbi/gems/formatador@1.1.0.rbi +9 -0
  165. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +102 -0
  166. data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +402 -0
  167. data/sorbet/rbi/gems/guard@2.19.1.rbi +2283 -0
  168. data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +355 -0
  169. data/sorbet/rbi/gems/i18n@1.14.7.rbi +2359 -0
  170. data/sorbet/rbi/gems/json-schema@5.1.1.rbi +1466 -0
  171. data/sorbet/rbi/gems/json@2.12.2.rbi +2051 -0
  172. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  173. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +9 -0
  174. data/sorbet/rbi/gems/listen@3.9.0.rbi +1206 -0
  175. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  176. data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +1830 -0
  177. data/sorbet/rbi/gems/method_source@1.1.0.rbi +9 -0
  178. data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +136 -0
  179. data/sorbet/rbi/gems/mime-types@3.7.0.rbi +1342 -0
  180. data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +160 -0
  181. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1640 -0
  182. data/sorbet/rbi/gems/mocha@2.7.1.rbi +12 -0
  183. data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +244 -0
  184. data/sorbet/rbi/gems/nenv@0.3.0.rbi +147 -0
  185. data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
  186. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  187. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +1079 -0
  188. data/sorbet/rbi/gems/open_router@0.3.3.rbi +230 -0
  189. data/sorbet/rbi/gems/ostruct@0.6.2.rbi +354 -0
  190. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  191. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +5535 -0
  192. data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
  193. data/sorbet/rbi/gems/pry@0.15.2.rbi +9 -0
  194. data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +936 -0
  195. data/sorbet/rbi/gems/racc@1.8.1.rbi +158 -0
  196. data/sorbet/rbi/gems/rack@2.2.17.rbi +5659 -0
  197. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +9 -0
  198. data/sorbet/rbi/gems/raix@1.0.2.rbi +1104 -0
  199. data/sorbet/rbi/gems/rake@13.3.0.rbi +3036 -0
  200. data/sorbet/rbi/gems/rb-fsevent@0.11.2.rbi +9 -0
  201. data/sorbet/rbi/gems/rb-inotify@0.11.1.rbi +9 -0
  202. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  203. data/sorbet/rbi/gems/rbs@3.9.4.rbi +6978 -0
  204. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +9 -0
  205. data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
  206. data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +9 -0
  207. data/sorbet/rbi/gems/rubocop-shopify@2.17.1.rbi +9 -0
  208. data/sorbet/rbi/gems/rubocop@1.77.0.rbi +9 -0
  209. data/sorbet/rbi/gems/ruby-graphviz@1.2.5.rbi +1333 -0
  210. data/sorbet/rbi/gems/ruby-openai@8.1.0.rbi +758 -0
  211. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +9 -0
  212. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  213. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  214. data/sorbet/rbi/gems/shellany@0.0.1.rbi +102 -0
  215. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  216. data/sorbet/rbi/gems/sqlite3@2.7.0.rbi +1900 -0
  217. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  218. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  219. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  220. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +9 -0
  221. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +9 -0
  222. data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
  223. data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
  224. data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
  225. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  226. data/sorbet/rbi/gems/yard@0.9.37.rbi +18492 -0
  227. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
  228. data/sorbet/tapioca/config.yml +13 -0
  229. data/sorbet/tapioca/require.rb +36 -0
  230. metadata +113 -2
  231. data/lib/roast/workflow/configuration_parser.rb +0 -54
@@ -0,0 +1,1127 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `dry-logic` gem.
5
+ # Please instead update this file by running `bin/tapioca gem dry-logic`.
6
+
7
+
8
+ # source://dry-logic//lib/dry/logic.rb#6
9
+ module Dry
10
+ class << self
11
+ # source://dry-configurable/1.3.0/lib/dry/configurable.rb#11
12
+ def Configurable(**options); end
13
+
14
+ # source://dry-core/1.1.0/lib/dry/core.rb#52
15
+ def Equalizer(*keys, **options); end
16
+
17
+ # source://dry-types/1.8.3/lib/dry/types.rb#253
18
+ def Types(*namespaces, default: T.unsafe(nil), **aliases); end
19
+ end
20
+ end
21
+
22
+ # source://dry-logic//lib/dry/logic.rb#7
23
+ module Dry::Logic
24
+ include ::Dry::Core::Constants
25
+
26
+ class << self
27
+ # source://dry-logic//lib/dry/logic/rule.rb#7
28
+ def Rule(*args, **options, &block); end
29
+
30
+ # source://dry-logic//lib/dry/logic.rb#10
31
+ def loader; end
32
+ end
33
+ end
34
+
35
+ # source://dry-logic//lib/dry/logic/appliable.rb#5
36
+ module Dry::Logic::Appliable
37
+ # @return [Boolean]
38
+ #
39
+ # source://dry-logic//lib/dry/logic/appliable.rb#14
40
+ def applied?; end
41
+
42
+ # @return [Boolean]
43
+ #
44
+ # source://dry-logic//lib/dry/logic/appliable.rb#22
45
+ def failure?; end
46
+
47
+ # source://dry-logic//lib/dry/logic/appliable.rb#6
48
+ def id; end
49
+
50
+ # source://dry-logic//lib/dry/logic/appliable.rb#10
51
+ def result; end
52
+
53
+ # @return [Boolean]
54
+ #
55
+ # source://dry-logic//lib/dry/logic/appliable.rb#18
56
+ def success?; end
57
+
58
+ # source://dry-logic//lib/dry/logic/appliable.rb#26
59
+ def to_ast; end
60
+ end
61
+
62
+ # source://dry-logic//lib/dry/logic/builder.rb#8
63
+ module Dry::Logic::Builder
64
+ # Predicate and operation builder
65
+ #
66
+ # @example Check if input is zero
67
+ # is_zero = Dry::Logic::Builder.call do
68
+ # negation { lt?(0) ^ gt?(0) }
69
+ # end
70
+ #
71
+ # p is_zero.call(1) # => false
72
+ # p is_zero.call(0) # => true
73
+ # p is_zero.call(-1) # => false
74
+ # @return [Builder::Result]
75
+ #
76
+ # source://dry-logic//lib/dry/logic/builder.rb#31
77
+ def build(&_arg0); end
78
+
79
+ # Predicate and operation builder
80
+ #
81
+ # @example Check if input is zero
82
+ # is_zero = Dry::Logic::Builder.call do
83
+ # negation { lt?(0) ^ gt?(0) }
84
+ # end
85
+ #
86
+ # p is_zero.call(1) # => false
87
+ # p is_zero.call(0) # => true
88
+ # p is_zero.call(-1) # => false
89
+ # @return [Builder::Result]
90
+ #
91
+ # source://dry-logic//lib/dry/logic/builder.rb#31
92
+ def call(&_arg0); end
93
+
94
+ class << self
95
+ # Predicate and operation builder
96
+ #
97
+ # @example Check if input is zero
98
+ # is_zero = Dry::Logic::Builder.call do
99
+ # negation { lt?(0) ^ gt?(0) }
100
+ # end
101
+ #
102
+ # p is_zero.call(1) # => false
103
+ # p is_zero.call(0) # => true
104
+ # p is_zero.call(-1) # => false
105
+ # @return [Builder::Result]
106
+ #
107
+ # source://dry-logic//lib/dry/logic/builder.rb#31
108
+ def call(&_arg0); end
109
+ end
110
+ end
111
+
112
+ # source://dry-logic//lib/dry/logic/builder.rb#38
113
+ class Dry::Logic::Builder::Context
114
+ include ::Dry::Core::Constants
115
+ include ::Dry::Logic
116
+ include ::Singleton::SingletonInstanceMethods
117
+ include ::Singleton
118
+ extend ::Singleton::SingletonClassMethods
119
+
120
+ # Defines methods for operations and predicates
121
+ #
122
+ # @return [Context] a new instance of Context
123
+ #
124
+ # source://dry-logic//lib/dry/logic/builder.rb#68
125
+ def initialize; end
126
+
127
+ # @see Builder#call
128
+ #
129
+ # source://dry-logic//lib/dry/logic/builder.rb#47
130
+ def call(&_arg0); end
131
+
132
+ # Defines custom predicate
133
+ #
134
+ # source://dry-logic//lib/dry/logic/builder.rb#55
135
+ def predicate(name, context = T.unsafe(nil), &block); end
136
+
137
+ class << self
138
+ private
139
+
140
+ def allocate; end
141
+ def new(*_arg0); end
142
+ end
143
+ end
144
+
145
+ # source://dry-logic//lib/dry/logic/builder.rb#42
146
+ module Dry::Logic::Builder::Context::Predicates
147
+ include ::Dry::Core::Constants
148
+ include ::Dry::Logic::Predicates
149
+ extend ::Dry::Logic::Predicates::Methods
150
+ end
151
+
152
+ # source://dry-logic//lib/dry/logic/builder.rb#9
153
+ Dry::Logic::Builder::IGNORED_OPERATIONS = T.let(T.unsafe(nil), Array)
154
+
155
+ # source://dry-logic//lib/dry/logic/builder.rb#15
156
+ Dry::Logic::Builder::IGNORED_PREDICATES = T.let(T.unsafe(nil), Array)
157
+
158
+ # source://dry-logic//lib/dry/logic/evaluator.rb#5
159
+ class Dry::Logic::Evaluator
160
+ include ::Dry::Core::Equalizer::Methods
161
+
162
+ # @return [Evaluator] a new instance of Evaluator
163
+ #
164
+ # source://dry-logic//lib/dry/logic/evaluator.rb#43
165
+ def initialize(path); end
166
+
167
+ # Returns the value of attribute path.
168
+ #
169
+ # source://dry-logic//lib/dry/logic/evaluator.rb#8
170
+ def path; end
171
+ end
172
+
173
+ # source://dry-logic//lib/dry/logic/evaluator.rb#36
174
+ class Dry::Logic::Evaluator::Attr < ::Dry::Logic::Evaluator
175
+ # source://dry-logic//lib/dry/logic/evaluator.rb#37
176
+ def [](input); end
177
+
178
+ # source://dry-logic//lib/dry/logic/evaluator.rb#37
179
+ def call(input); end
180
+ end
181
+
182
+ # source://dry-logic//lib/dry/logic/evaluator.rb#29
183
+ class Dry::Logic::Evaluator::Key < ::Dry::Logic::Evaluator
184
+ # source://dry-logic//lib/dry/logic/evaluator.rb#30
185
+ def [](input); end
186
+
187
+ # source://dry-logic//lib/dry/logic/evaluator.rb#30
188
+ def call(input); end
189
+ end
190
+
191
+ # source://dry-logic//lib/dry/logic/evaluator.rb#10
192
+ class Dry::Logic::Evaluator::Set
193
+ include ::Dry::Core::Equalizer::Methods
194
+
195
+ # @return [Set] a new instance of Set
196
+ #
197
+ # source://dry-logic//lib/dry/logic/evaluator.rb#19
198
+ def initialize(evaluators); end
199
+
200
+ # source://dry-logic//lib/dry/logic/evaluator.rb#23
201
+ def [](input); end
202
+
203
+ # source://dry-logic//lib/dry/logic/evaluator.rb#23
204
+ def call(input); end
205
+
206
+ # Returns the value of attribute evaluators.
207
+ #
208
+ # source://dry-logic//lib/dry/logic/evaluator.rb#13
209
+ def evaluators; end
210
+
211
+ class << self
212
+ # source://dry-logic//lib/dry/logic/evaluator.rb#15
213
+ def new(paths); end
214
+ end
215
+ end
216
+
217
+ # source://dry-logic//lib/dry/logic/operations/and.rb#5
218
+ module Dry::Logic::Operations; end
219
+
220
+ # source://dry-logic//lib/dry/logic/operations/abstract.rb#6
221
+ class Dry::Logic::Operations::Abstract
222
+ include ::Dry::Core::Constants
223
+ include ::Dry::Core::Equalizer::Methods
224
+ include ::Dry::Logic::Operators
225
+
226
+ # @return [Abstract] a new instance of Abstract
227
+ #
228
+ # source://dry-logic//lib/dry/logic/operations/abstract.rb#15
229
+ def initialize(*rules, **options); end
230
+
231
+ # source://dry-logic//lib/dry/logic/operations/abstract.rb#24
232
+ def curry(*args); end
233
+
234
+ # source://dry-logic//lib/dry/logic/operations/abstract.rb#20
235
+ def id; end
236
+
237
+ # source://dry-logic//lib/dry/logic/operations/abstract.rb#28
238
+ def new(rules, **new_options); end
239
+
240
+ # Returns the value of attribute options.
241
+ #
242
+ # source://dry-logic//lib/dry/logic/operations/abstract.rb#13
243
+ def options; end
244
+
245
+ # Returns the value of attribute rules.
246
+ #
247
+ # source://dry-logic//lib/dry/logic/operations/abstract.rb#11
248
+ def rules; end
249
+
250
+ # source://dry-logic//lib/dry/logic/operations/abstract.rb#36
251
+ def to_ast; end
252
+
253
+ # source://dry-logic//lib/dry/logic/operations/abstract.rb#32
254
+ def with(new_options); end
255
+ end
256
+
257
+ # source://dry-logic//lib/dry/logic/operations/and.rb#6
258
+ class Dry::Logic::Operations::And < ::Dry::Logic::Operations::Binary
259
+ # @return [And] a new instance of And
260
+ #
261
+ # source://dry-logic//lib/dry/logic/operations/and.rb#9
262
+ def initialize(*_arg0, **_arg1); end
263
+
264
+ # source://dry-logic//lib/dry/logic/operations/and.rb#38
265
+ def [](input); end
266
+
267
+ # source://dry-logic//lib/dry/logic/operations/and.rb#19
268
+ def call(input); end
269
+
270
+ # Returns the value of attribute hints.
271
+ #
272
+ # source://dry-logic//lib/dry/logic/operations/and.rb#7
273
+ def hints; end
274
+
275
+ # source://dry-logic//lib/dry/logic/operations/and.rb#14
276
+ def operator; end
277
+
278
+ # source://dry-logic//lib/dry/logic/operations/and.rb#14
279
+ def type; end
280
+ end
281
+
282
+ # source://dry-logic//lib/dry/logic/operations/attr.rb#6
283
+ class Dry::Logic::Operations::Attr < ::Dry::Logic::Operations::Key
284
+ # source://dry-logic//lib/dry/logic/operations/attr.rb#11
285
+ def type; end
286
+
287
+ class << self
288
+ # source://dry-logic//lib/dry/logic/operations/attr.rb#7
289
+ def evaluator(name); end
290
+ end
291
+ end
292
+
293
+ # source://dry-logic//lib/dry/logic/operations/binary.rb#6
294
+ class Dry::Logic::Operations::Binary < ::Dry::Logic::Operations::Abstract
295
+ # @return [Binary] a new instance of Binary
296
+ #
297
+ # source://dry-logic//lib/dry/logic/operations/binary.rb#11
298
+ def initialize(left, right, **options); end
299
+
300
+ # source://dry-logic//lib/dry/logic/operations/binary.rb#17
301
+ def ast(input = T.unsafe(nil)); end
302
+
303
+ # Returns the value of attribute left.
304
+ #
305
+ # source://dry-logic//lib/dry/logic/operations/binary.rb#7
306
+ def left; end
307
+
308
+ # Returns the value of attribute right.
309
+ #
310
+ # source://dry-logic//lib/dry/logic/operations/binary.rb#9
311
+ def right; end
312
+
313
+ # source://dry-logic//lib/dry/logic/operations/binary.rb#21
314
+ def to_s; end
315
+ end
316
+
317
+ # source://dry-logic//lib/dry/logic/operations/check.rb#6
318
+ class Dry::Logic::Operations::Check < ::Dry::Logic::Operations::Unary
319
+ # @return [Check] a new instance of Check
320
+ #
321
+ # source://dry-logic//lib/dry/logic/operations/check.rb#20
322
+ def initialize(*rules, **options); end
323
+
324
+ # source://dry-logic//lib/dry/logic/operations/check.rb#40
325
+ def [](input); end
326
+
327
+ # source://dry-logic//lib/dry/logic/operations/check.rb#44
328
+ def ast(input = T.unsafe(nil)); end
329
+
330
+ # source://dry-logic//lib/dry/logic/operations/check.rb#29
331
+ def call(input); end
332
+
333
+ # Returns the value of attribute evaluator.
334
+ #
335
+ # source://dry-logic//lib/dry/logic/operations/check.rb#7
336
+ def evaluator; end
337
+
338
+ # source://dry-logic//lib/dry/logic/operations/check.rb#25
339
+ def type; end
340
+
341
+ class << self
342
+ # source://dry-logic//lib/dry/logic/operations/check.rb#9
343
+ def new(rule, **options); end
344
+ end
345
+ end
346
+
347
+ # source://dry-logic//lib/dry/logic/operations/each.rb#6
348
+ class Dry::Logic::Operations::Each < ::Dry::Logic::Operations::Unary
349
+ # source://dry-logic//lib/dry/logic/operations/each.rb#25
350
+ def [](arr); end
351
+
352
+ # source://dry-logic//lib/dry/logic/operations/each.rb#11
353
+ def call(input); end
354
+
355
+ # source://dry-logic//lib/dry/logic/operations/each.rb#7
356
+ def type; end
357
+ end
358
+
359
+ # source://dry-logic//lib/dry/logic/operations/implication.rb#6
360
+ class Dry::Logic::Operations::Implication < ::Dry::Logic::Operations::Binary
361
+ # source://dry-logic//lib/dry/logic/operations/implication.rb#26
362
+ def [](input); end
363
+
364
+ # source://dry-logic//lib/dry/logic/operations/implication.rb#15
365
+ def call(input); end
366
+
367
+ # source://dry-logic//lib/dry/logic/operations/implication.rb#11
368
+ def operator; end
369
+
370
+ # source://dry-logic//lib/dry/logic/operations/implication.rb#7
371
+ def type; end
372
+ end
373
+
374
+ # source://dry-logic//lib/dry/logic/operations/key.rb#6
375
+ class Dry::Logic::Operations::Key < ::Dry::Logic::Operations::Unary
376
+ # @return [Key] a new instance of Key
377
+ #
378
+ # source://dry-logic//lib/dry/logic/operations/key.rb#25
379
+ def initialize(*rules, **options); end
380
+
381
+ # source://dry-logic//lib/dry/logic/operations/key.rb#46
382
+ def [](hash); end
383
+
384
+ # source://dry-logic//lib/dry/logic/operations/key.rb#50
385
+ def ast(input = T.unsafe(nil)); end
386
+
387
+ # source://dry-logic//lib/dry/logic/operations/key.rb#35
388
+ def call(hash); end
389
+
390
+ # Returns the value of attribute evaluator.
391
+ #
392
+ # source://dry-logic//lib/dry/logic/operations/key.rb#7
393
+ def evaluator; end
394
+
395
+ # Returns the value of attribute path.
396
+ #
397
+ # source://dry-logic//lib/dry/logic/operations/key.rb#9
398
+ def path; end
399
+
400
+ # source://dry-logic//lib/dry/logic/operations/key.rb#58
401
+ def to_s; end
402
+
403
+ # source://dry-logic//lib/dry/logic/operations/key.rb#31
404
+ def type; end
405
+
406
+ class << self
407
+ # source://dry-logic//lib/dry/logic/operations/key.rb#21
408
+ def evaluator(name); end
409
+
410
+ # source://dry-logic//lib/dry/logic/operations/key.rb#11
411
+ def new(rules, **options); end
412
+ end
413
+ end
414
+
415
+ # source://dry-logic//lib/dry/logic/operations/negation.rb#6
416
+ class Dry::Logic::Operations::Negation < ::Dry::Logic::Operations::Unary
417
+ # source://dry-logic//lib/dry/logic/operations/negation.rb#15
418
+ def [](input); end
419
+
420
+ # source://dry-logic//lib/dry/logic/operations/negation.rb#11
421
+ def call(input); end
422
+
423
+ # source://dry-logic//lib/dry/logic/operations/negation.rb#7
424
+ def type; end
425
+ end
426
+
427
+ # source://dry-logic//lib/dry/logic/operations/or.rb#6
428
+ class Dry::Logic::Operations::Or < ::Dry::Logic::Operations::Binary
429
+ # source://dry-logic//lib/dry/logic/operations/or.rb#28
430
+ def [](input); end
431
+
432
+ # source://dry-logic//lib/dry/logic/operations/or.rb#12
433
+ def call(input); end
434
+
435
+ # source://dry-logic//lib/dry/logic/operations/or.rb#7
436
+ def operator; end
437
+
438
+ # source://dry-logic//lib/dry/logic/operations/or.rb#7
439
+ def type; end
440
+ end
441
+
442
+ # source://dry-logic//lib/dry/logic/operations/set.rb#6
443
+ class Dry::Logic::Operations::Set < ::Dry::Logic::Operations::Abstract
444
+ # source://dry-logic//lib/dry/logic/operations/set.rb#20
445
+ def [](input); end
446
+
447
+ # source://dry-logic//lib/dry/logic/operations/set.rb#24
448
+ def ast(input = T.unsafe(nil)); end
449
+
450
+ # source://dry-logic//lib/dry/logic/operations/set.rb#11
451
+ def call(input); end
452
+
453
+ # source://dry-logic//lib/dry/logic/operations/set.rb#28
454
+ def to_s; end
455
+
456
+ # source://dry-logic//lib/dry/logic/operations/set.rb#7
457
+ def type; end
458
+ end
459
+
460
+ # source://dry-logic//lib/dry/logic/operations/unary.rb#6
461
+ class Dry::Logic::Operations::Unary < ::Dry::Logic::Operations::Abstract
462
+ # @return [Unary] a new instance of Unary
463
+ #
464
+ # source://dry-logic//lib/dry/logic/operations/unary.rb#9
465
+ def initialize(*rules, **options); end
466
+
467
+ # source://dry-logic//lib/dry/logic/operations/unary.rb#14
468
+ def ast(input = T.unsafe(nil)); end
469
+
470
+ # Returns the value of attribute rule.
471
+ #
472
+ # source://dry-logic//lib/dry/logic/operations/unary.rb#7
473
+ def rule; end
474
+
475
+ # source://dry-logic//lib/dry/logic/operations/unary.rb#18
476
+ def to_s; end
477
+ end
478
+
479
+ # source://dry-logic//lib/dry/logic/operations/xor.rb#6
480
+ class Dry::Logic::Operations::Xor < ::Dry::Logic::Operations::Binary
481
+ # source://dry-logic//lib/dry/logic/operations/xor.rb#16
482
+ def [](input); end
483
+
484
+ # source://dry-logic//lib/dry/logic/operations/xor.rb#20
485
+ def ast(input = T.unsafe(nil)); end
486
+
487
+ # source://dry-logic//lib/dry/logic/operations/xor.rb#12
488
+ def call(input); end
489
+
490
+ # source://dry-logic//lib/dry/logic/operations/xor.rb#7
491
+ def operator; end
492
+
493
+ # source://dry-logic//lib/dry/logic/operations/xor.rb#7
494
+ def type; end
495
+ end
496
+
497
+ # source://dry-logic//lib/dry/logic/operators.rb#5
498
+ module Dry::Logic::Operators
499
+ # source://dry-logic//lib/dry/logic/operators.rb#6
500
+ def &(other); end
501
+
502
+ # source://dry-logic//lib/dry/logic/operators.rb#21
503
+ def >(other); end
504
+
505
+ # source://dry-logic//lib/dry/logic/operators.rb#16
506
+ def ^(other); end
507
+
508
+ # source://dry-logic//lib/dry/logic/operators.rb#6
509
+ def and(other); end
510
+
511
+ # source://dry-logic//lib/dry/logic/operators.rb#11
512
+ def or(other); end
513
+
514
+ # source://dry-logic//lib/dry/logic/operators.rb#21
515
+ def then(other); end
516
+
517
+ # source://dry-logic//lib/dry/logic/operators.rb#16
518
+ def xor(other); end
519
+
520
+ # source://dry-logic//lib/dry/logic/operators.rb#11
521
+ def |(other); end
522
+ end
523
+
524
+ # source://dry-logic//lib/dry/logic/predicates.rb#12
525
+ module Dry::Logic::Predicates
526
+ include ::Dry::Core::Constants
527
+ extend ::Dry::Logic::Predicates::Methods
528
+
529
+ mixes_in_class_methods ::Dry::Logic::Predicates::Methods
530
+
531
+ class << self
532
+ # @private
533
+ #
534
+ # source://dry-logic//lib/dry/logic/predicates.rb#226
535
+ def included(other); end
536
+ end
537
+ end
538
+
539
+ # source://dry-logic//lib/dry/logic/predicates.rb#16
540
+ module Dry::Logic::Predicates::Methods
541
+ # source://dry-logic//lib/dry/logic/predicates.rb#39
542
+ def [](name); end
543
+
544
+ # @return [Boolean]
545
+ #
546
+ # source://dry-logic//lib/dry/logic/predicates.rb#87
547
+ def array?(input); end
548
+
549
+ # @return [Boolean]
550
+ #
551
+ # source://dry-logic//lib/dry/logic/predicates.rb#50
552
+ def attr?(name, input); end
553
+
554
+ # @return [Boolean]
555
+ #
556
+ # source://dry-logic//lib/dry/logic/predicates.rb#63
557
+ def bool?(input); end
558
+
559
+ # @return [Boolean]
560
+ #
561
+ # source://dry-logic//lib/dry/logic/predicates.rb#114
562
+ def bytesize?(size, input); end
563
+
564
+ # @return [Boolean]
565
+ #
566
+ # source://dry-logic//lib/dry/logic/predicates.rb#170
567
+ def case?(pattern, input); end
568
+
569
+ # @return [Boolean]
570
+ #
571
+ # source://dry-logic//lib/dry/logic/predicates.rb#65
572
+ def date?(input); end
573
+
574
+ # @return [Boolean]
575
+ #
576
+ # source://dry-logic//lib/dry/logic/predicates.rb#67
577
+ def date_time?(input); end
578
+
579
+ # @return [Boolean]
580
+ #
581
+ # source://dry-logic//lib/dry/logic/predicates.rb#81
582
+ def decimal?(input); end
583
+
584
+ # source://dry-logic//lib/dry/logic/predicates.rb#213
585
+ def deprecated(name, in_favor_of); end
586
+
587
+ # @return [Boolean]
588
+ #
589
+ # source://dry-logic//lib/dry/logic/predicates.rb#52
590
+ def empty?(input); end
591
+
592
+ # This overrides Object#eql? so we need to make it compatible
593
+ #
594
+ # @return [Boolean]
595
+ #
596
+ # source://dry-logic//lib/dry/logic/predicates.rb#154
597
+ def eql?(left, right = T.unsafe(nil)); end
598
+
599
+ # @return [Boolean]
600
+ #
601
+ # source://dry-logic//lib/dry/logic/predicates.rb#91
602
+ def even?(input); end
603
+
604
+ # @return [Boolean]
605
+ #
606
+ # source://dry-logic//lib/dry/logic/predicates.rb#139
607
+ def excluded_from?(list, input); end
608
+
609
+ # @return [Boolean]
610
+ #
611
+ # source://dry-logic//lib/dry/logic/predicates.rb#151
612
+ def excludes?(value, input); end
613
+
614
+ # @return [Boolean]
615
+ #
616
+ # source://dry-logic//lib/dry/logic/predicates.rb#132
617
+ def exclusion?(list, input); end
618
+
619
+ # @return [Boolean]
620
+ #
621
+ # source://dry-logic//lib/dry/logic/predicates.rb#166
622
+ def false?(value); end
623
+
624
+ # @return [Boolean]
625
+ #
626
+ # source://dry-logic//lib/dry/logic/predicates.rb#61
627
+ def filled?(input); end
628
+
629
+ # @return [Boolean]
630
+ #
631
+ # source://dry-logic//lib/dry/logic/predicates.rb#79
632
+ def float?(input); end
633
+
634
+ # @return [Boolean]
635
+ #
636
+ # source://dry-logic//lib/dry/logic/predicates.rb#168
637
+ def format?(regex, input); end
638
+
639
+ # @return [Boolean]
640
+ #
641
+ # source://dry-logic//lib/dry/logic/predicates.rb#95
642
+ def gt?(num, input); end
643
+
644
+ # @return [Boolean]
645
+ #
646
+ # source://dry-logic//lib/dry/logic/predicates.rb#99
647
+ def gteq?(num, input); end
648
+
649
+ # @return [Boolean]
650
+ #
651
+ # source://dry-logic//lib/dry/logic/predicates.rb#85
652
+ def hash?(input); end
653
+
654
+ # @return [Boolean]
655
+ #
656
+ # source://dry-logic//lib/dry/logic/predicates.rb#137
657
+ def included_in?(list, input); end
658
+
659
+ # @return [Boolean]
660
+ #
661
+ # source://dry-logic//lib/dry/logic/predicates.rb#141
662
+ def includes?(value, input); end
663
+
664
+ # @return [Boolean]
665
+ #
666
+ # source://dry-logic//lib/dry/logic/predicates.rb#127
667
+ def inclusion?(list, input); end
668
+
669
+ # @return [Boolean]
670
+ #
671
+ # source://dry-logic//lib/dry/logic/predicates.rb#77
672
+ def int?(input); end
673
+
674
+ # @return [Boolean]
675
+ #
676
+ # source://dry-logic//lib/dry/logic/predicates.rb#160
677
+ def is?(left, right); end
678
+
679
+ # @return [Boolean]
680
+ #
681
+ # source://dry-logic//lib/dry/logic/predicates.rb#48
682
+ def key?(name, input); end
683
+
684
+ # @return [Boolean]
685
+ #
686
+ # source://dry-logic//lib/dry/logic/predicates.rb#93
687
+ def lt?(num, input); end
688
+
689
+ # @return [Boolean]
690
+ #
691
+ # source://dry-logic//lib/dry/logic/predicates.rb#97
692
+ def lteq?(num, input); end
693
+
694
+ # @return [Boolean]
695
+ #
696
+ # source://dry-logic//lib/dry/logic/predicates.rb#125
697
+ def max_bytesize?(num, input); end
698
+
699
+ # @return [Boolean]
700
+ #
701
+ # source://dry-logic//lib/dry/logic/predicates.rb#112
702
+ def max_size?(num, input); end
703
+
704
+ # @return [Boolean]
705
+ #
706
+ # source://dry-logic//lib/dry/logic/predicates.rb#123
707
+ def min_bytesize?(num, input); end
708
+
709
+ # @return [Boolean]
710
+ #
711
+ # source://dry-logic//lib/dry/logic/predicates.rb#110
712
+ def min_size?(num, input); end
713
+
714
+ # @return [Boolean]
715
+ #
716
+ # source://dry-logic//lib/dry/logic/predicates.rb#45
717
+ def nil?(input); end
718
+
719
+ # @return [Boolean]
720
+ #
721
+ # source://dry-logic//lib/dry/logic/predicates.rb#45
722
+ def none?(input); end
723
+
724
+ # @return [Boolean]
725
+ #
726
+ # source://dry-logic//lib/dry/logic/predicates.rb#162
727
+ def not_eql?(left, right); end
728
+
729
+ # @return [Boolean]
730
+ #
731
+ # source://dry-logic//lib/dry/logic/predicates.rb#71
732
+ def number?(input); end
733
+
734
+ # @return [Boolean]
735
+ #
736
+ # source://dry-logic//lib/dry/logic/predicates.rb#89
737
+ def odd?(input); end
738
+
739
+ # source://dry-logic//lib/dry/logic/predicates.rb#209
740
+ def predicate(name, &_arg1); end
741
+
742
+ # This overrides Object#respond_to? so we need to make it compatible
743
+ #
744
+ # @return [Boolean]
745
+ #
746
+ # source://dry-logic//lib/dry/logic/predicates.rb#203
747
+ def respond_to?(method, input = T.unsafe(nil)); end
748
+
749
+ # @return [Boolean]
750
+ #
751
+ # source://dry-logic//lib/dry/logic/predicates.rb#101
752
+ def size?(size, input); end
753
+
754
+ # @return [Boolean]
755
+ #
756
+ # source://dry-logic//lib/dry/logic/predicates.rb#83
757
+ def str?(input); end
758
+
759
+ # @return [Boolean]
760
+ #
761
+ # source://dry-logic//lib/dry/logic/predicates.rb#69
762
+ def time?(input); end
763
+
764
+ # @return [Boolean]
765
+ #
766
+ # source://dry-logic//lib/dry/logic/predicates.rb#164
767
+ def true?(value); end
768
+
769
+ # @return [Boolean]
770
+ #
771
+ # source://dry-logic//lib/dry/logic/predicates.rb#43
772
+ def type?(type, input); end
773
+
774
+ # @return [Boolean]
775
+ #
776
+ # source://dry-logic//lib/dry/logic/predicates.rb#189
777
+ def uri?(schemes, input); end
778
+
779
+ # @return [Boolean]
780
+ #
781
+ # source://dry-logic//lib/dry/logic/predicates.rb#200
782
+ def uri_rfc3986?(input); end
783
+
784
+ # @return [Boolean]
785
+ #
786
+ # source://dry-logic//lib/dry/logic/predicates.rb#172
787
+ def uuid_v1?(input); end
788
+
789
+ # @return [Boolean]
790
+ #
791
+ # source://dry-logic//lib/dry/logic/predicates.rb#174
792
+ def uuid_v2?(input); end
793
+
794
+ # @return [Boolean]
795
+ #
796
+ # source://dry-logic//lib/dry/logic/predicates.rb#176
797
+ def uuid_v3?(input); end
798
+
799
+ # @return [Boolean]
800
+ #
801
+ # source://dry-logic//lib/dry/logic/predicates.rb#178
802
+ def uuid_v4?(input); end
803
+
804
+ # @return [Boolean]
805
+ #
806
+ # source://dry-logic//lib/dry/logic/predicates.rb#180
807
+ def uuid_v5?(input); end
808
+
809
+ # @return [Boolean]
810
+ #
811
+ # source://dry-logic//lib/dry/logic/predicates.rb#182
812
+ def uuid_v6?(input); end
813
+
814
+ # @return [Boolean]
815
+ #
816
+ # source://dry-logic//lib/dry/logic/predicates.rb#184
817
+ def uuid_v7?(input); end
818
+
819
+ # @return [Boolean]
820
+ #
821
+ # source://dry-logic//lib/dry/logic/predicates.rb#186
822
+ def uuid_v8?(input); end
823
+
824
+ class << self
825
+ # source://dry-logic//lib/dry/logic/predicates.rb#17
826
+ def uuid_format(version); end
827
+ end
828
+ end
829
+
830
+ # source://dry-logic//lib/dry/logic/predicates.rb#23
831
+ Dry::Logic::Predicates::Methods::UUIDv1 = T.let(T.unsafe(nil), Regexp)
832
+
833
+ # source://dry-logic//lib/dry/logic/predicates.rb#25
834
+ Dry::Logic::Predicates::Methods::UUIDv2 = T.let(T.unsafe(nil), Regexp)
835
+
836
+ # source://dry-logic//lib/dry/logic/predicates.rb#27
837
+ Dry::Logic::Predicates::Methods::UUIDv3 = T.let(T.unsafe(nil), Regexp)
838
+
839
+ # source://dry-logic//lib/dry/logic/predicates.rb#29
840
+ Dry::Logic::Predicates::Methods::UUIDv4 = T.let(T.unsafe(nil), Regexp)
841
+
842
+ # source://dry-logic//lib/dry/logic/predicates.rb#31
843
+ Dry::Logic::Predicates::Methods::UUIDv5 = T.let(T.unsafe(nil), Regexp)
844
+
845
+ # source://dry-logic//lib/dry/logic/predicates.rb#33
846
+ Dry::Logic::Predicates::Methods::UUIDv6 = T.let(T.unsafe(nil), Regexp)
847
+
848
+ # source://dry-logic//lib/dry/logic/predicates.rb#35
849
+ Dry::Logic::Predicates::Methods::UUIDv7 = T.let(T.unsafe(nil), Regexp)
850
+
851
+ # source://dry-logic//lib/dry/logic/predicates.rb#37
852
+ Dry::Logic::Predicates::Methods::UUIDv8 = T.let(T.unsafe(nil), Regexp)
853
+
854
+ # source://dry-logic//lib/dry/logic/result.rb#5
855
+ class Dry::Logic::Result
856
+ # @return [Result] a new instance of Result
857
+ #
858
+ # source://dry-logic//lib/dry/logic/result.rb#22
859
+ def initialize(success, id = T.unsafe(nil), &block); end
860
+
861
+ # source://dry-logic//lib/dry/logic/result.rb#40
862
+ def ast(input = T.unsafe(nil)); end
863
+
864
+ # @return [Boolean]
865
+ #
866
+ # source://dry-logic//lib/dry/logic/result.rb#32
867
+ def failure?; end
868
+
869
+ # Returns the value of attribute id.
870
+ #
871
+ # source://dry-logic//lib/dry/logic/result.rb#18
872
+ def id; end
873
+
874
+ # Returns the value of attribute serializer.
875
+ #
876
+ # source://dry-logic//lib/dry/logic/result.rb#20
877
+ def serializer; end
878
+
879
+ # Returns the value of attribute success.
880
+ #
881
+ # source://dry-logic//lib/dry/logic/result.rb#16
882
+ def success; end
883
+
884
+ # @return [Boolean]
885
+ #
886
+ # source://dry-logic//lib/dry/logic/result.rb#28
887
+ def success?; end
888
+
889
+ # source://dry-logic//lib/dry/logic/result.rb#44
890
+ def to_ast; end
891
+
892
+ # source://dry-logic//lib/dry/logic/result.rb#52
893
+ def to_s; end
894
+
895
+ # source://dry-logic//lib/dry/logic/result.rb#36
896
+ def type; end
897
+
898
+ private
899
+
900
+ # source://dry-logic//lib/dry/logic/result.rb#58
901
+ def visit(ast); end
902
+
903
+ # source://dry-logic//lib/dry/logic/result.rb#72
904
+ def visit_and(node); end
905
+
906
+ # source://dry-logic//lib/dry/logic/result.rb#91
907
+ def visit_hint(node); end
908
+
909
+ # source://dry-logic//lib/dry/logic/result.rb#87
910
+ def visit_not(node); end
911
+
912
+ # source://dry-logic//lib/dry/logic/result.rb#77
913
+ def visit_or(node); end
914
+
915
+ # source://dry-logic//lib/dry/logic/result.rb#62
916
+ def visit_predicate(node); end
917
+
918
+ # source://dry-logic//lib/dry/logic/result.rb#82
919
+ def visit_xor(node); end
920
+ end
921
+
922
+ # source://dry-logic//lib/dry/logic/result.rb#6
923
+ Dry::Logic::Result::SUCCESS = T.let(T.unsafe(nil), T.untyped)
924
+
925
+ # source://dry-logic//lib/dry/logic/rule.rb#15
926
+ class Dry::Logic::Rule
927
+ include ::Dry::Core::Constants
928
+ include ::Dry::Core::Equalizer::Methods
929
+ include ::Dry::Logic::Operators
930
+
931
+ # @return [Rule] a new instance of Rule
932
+ #
933
+ # source://dry-logic//lib/dry/logic/rule.rb#45
934
+ def initialize(predicate, options = T.unsafe(nil)); end
935
+
936
+ # Returns the value of attribute args.
937
+ #
938
+ # source://dry-logic//lib/dry/logic/rule.rb#24
939
+ def args; end
940
+
941
+ # Returns the value of attribute arity.
942
+ #
943
+ # source://dry-logic//lib/dry/logic/rule.rb#26
944
+ def arity; end
945
+
946
+ # source://dry-logic//lib/dry/logic/rule.rb#87
947
+ def ast(input = T.unsafe(nil)); end
948
+
949
+ # source://dry-logic//lib/dry/logic/rule.rb#64
950
+ def bind(object); end
951
+
952
+ # source://dry-logic//lib/dry/logic/rule.rb#60
953
+ def curry(*new_args); end
954
+
955
+ # source://dry-logic//lib/dry/logic/rule.rb#75
956
+ def eval_args(object); end
957
+
958
+ # source://dry-logic//lib/dry/logic/rule.rb#56
959
+ def id; end
960
+
961
+ # Returns the value of attribute options.
962
+ #
963
+ # source://dry-logic//lib/dry/logic/rule.rb#22
964
+ def options; end
965
+
966
+ # source://dry-logic//lib/dry/logic/rule.rb#83
967
+ def parameters; end
968
+
969
+ # Returns the value of attribute predicate.
970
+ #
971
+ # source://dry-logic//lib/dry/logic/rule.rb#20
972
+ def predicate; end
973
+
974
+ # source://dry-logic//lib/dry/logic/rule.rb#52
975
+ def type; end
976
+
977
+ # source://dry-logic//lib/dry/logic/rule.rb#79
978
+ def with(new_opts); end
979
+
980
+ private
981
+
982
+ # source://dry-logic//lib/dry/logic/rule.rb#93
983
+ def args_with_names(*input); end
984
+
985
+ class << self
986
+ # source://dry-logic//lib/dry/logic/rule.rb#41
987
+ def build(predicate, args: T.unsafe(nil), arity: T.unsafe(nil), **options); end
988
+
989
+ # source://dry-logic//lib/dry/logic/rule.rb#28
990
+ def interfaces; end
991
+
992
+ # source://dry-logic//lib/dry/logic/rule.rb#32
993
+ def specialize(arity, curried, base = T.unsafe(nil)); end
994
+ end
995
+ end
996
+
997
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#6
998
+ class Dry::Logic::Rule::Interface < ::Module
999
+ # @return [Interface] a new instance of Interface
1000
+ #
1001
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#13
1002
+ def initialize(arity, curried); end
1003
+
1004
+ # Returns the value of attribute arity.
1005
+ #
1006
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#9
1007
+ def arity; end
1008
+
1009
+ # @return [Boolean]
1010
+ #
1011
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#32
1012
+ def constant?; end
1013
+
1014
+ # Returns the value of attribute curried.
1015
+ #
1016
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#11
1017
+ def curried; end
1018
+
1019
+ # @return [Boolean]
1020
+ #
1021
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#36
1022
+ def curried?; end
1023
+
1024
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#127
1025
+ def curried_args; end
1026
+
1027
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#107
1028
+ def define_application; end
1029
+
1030
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#91
1031
+ def define_constant_application; end
1032
+
1033
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#74
1034
+ def define_constructor; end
1035
+
1036
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#52
1037
+ def name; end
1038
+
1039
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#38
1040
+ def unapplied; end
1041
+
1042
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#131
1043
+ def unapplied_args; end
1044
+
1045
+ # @return [Boolean]
1046
+ #
1047
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#34
1048
+ def variable_arity?; end
1049
+ end
1050
+
1051
+ # source://dry-logic//lib/dry/logic/rule/interface.rb#7
1052
+ Dry::Logic::Rule::Interface::SPLAT = T.let(T.unsafe(nil), Array)
1053
+
1054
+ # source://dry-logic//lib/dry/logic/rule/predicate.rb#6
1055
+ class Dry::Logic::Rule::Predicate < ::Dry::Logic::Rule
1056
+ # source://dry-logic//lib/dry/logic/rule/predicate.rb#27
1057
+ def ast(input = T.unsafe(nil)); end
1058
+
1059
+ # source://dry-logic//lib/dry/logic/rule/predicate.rb#15
1060
+ def name; end
1061
+
1062
+ # source://dry-logic//lib/dry/logic/rule/predicate.rb#27
1063
+ def to_ast(input = T.unsafe(nil)); end
1064
+
1065
+ # source://dry-logic//lib/dry/logic/rule/predicate.rb#19
1066
+ def to_s; end
1067
+
1068
+ # source://dry-logic//lib/dry/logic/rule/predicate.rb#11
1069
+ def type; end
1070
+
1071
+ class << self
1072
+ # source://dry-logic//lib/dry/logic/rule/predicate.rb#7
1073
+ def specialize(arity, curried, base = T.unsafe(nil)); end
1074
+ end
1075
+ end
1076
+
1077
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#5
1078
+ class Dry::Logic::RuleCompiler
1079
+ # @return [RuleCompiler] a new instance of RuleCompiler
1080
+ #
1081
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#8
1082
+ def initialize(predicates); end
1083
+
1084
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#12
1085
+ def call(ast); end
1086
+
1087
+ # Returns the value of attribute predicates.
1088
+ #
1089
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#6
1090
+ def predicates; end
1091
+
1092
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#16
1093
+ def visit(node); end
1094
+
1095
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#60
1096
+ def visit_and(node); end
1097
+
1098
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#35
1099
+ def visit_attr(node); end
1100
+
1101
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#21
1102
+ def visit_check(node); end
1103
+
1104
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#44
1105
+ def visit_each(node); end
1106
+
1107
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#75
1108
+ def visit_implication(node); end
1109
+
1110
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#30
1111
+ def visit_key(node); end
1112
+
1113
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#26
1114
+ def visit_not(node); end
1115
+
1116
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#65
1117
+ def visit_or(node); end
1118
+
1119
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#48
1120
+ def visit_predicate(node); end
1121
+
1122
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#40
1123
+ def visit_set(node); end
1124
+
1125
+ # source://dry-logic//lib/dry/logic/rule_compiler.rb#70
1126
+ def visit_xor(node); end
1127
+ end