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.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +2 -0
- data/.github/workflows/ci.yaml +1 -0
- data/.gitignore +0 -26
- data/.rubocop.yml +13 -0
- data/.rubocop_todo.yml +21 -0
- data/CHANGELOG.md +29 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +43 -1
- data/bin/rubocop +27 -0
- data/bin/spoom +27 -0
- data/bin/srb +27 -0
- data/bin/srb-rbi +27 -0
- data/bin/tapioca +27 -0
- data/docs/INSTRUMENTATION.md +3 -3
- data/dsl/simple.rb +10 -0
- data/lib/roast/dsl/executor.rb +26 -0
- data/lib/roast/dsl.rb +7 -0
- data/lib/roast/errors.rb +1 -0
- data/lib/roast/factories/api_provider_factory.rb +1 -0
- data/lib/roast/helpers/function_caching_interceptor.rb +3 -0
- data/lib/roast/helpers/logger.rb +6 -9
- data/lib/roast/helpers/metadata_access.rb +1 -0
- data/lib/roast/helpers/minitest_coverage_runner.rb +1 -0
- data/lib/roast/helpers/path_resolver.rb +8 -18
- data/lib/roast/helpers/prompt_loader.rb +3 -2
- data/lib/roast/helpers/timeout_handler.rb +3 -5
- data/lib/roast/initializers.rb +1 -0
- data/lib/roast/resources/api_resource.rb +4 -3
- data/lib/roast/resources/base_resource.rb +1 -0
- data/lib/roast/resources/directory_resource.rb +1 -0
- data/lib/roast/resources/file_resource.rb +1 -0
- data/lib/roast/resources/none_resource.rb +1 -0
- data/lib/roast/resources/url_resource.rb +2 -1
- data/lib/roast/resources.rb +1 -2
- data/lib/roast/services/context_threshold_checker.rb +1 -0
- data/lib/roast/services/token_counting_service.rb +1 -0
- data/lib/roast/tools/apply_diff.rb +1 -0
- data/lib/roast/tools/ask_user.rb +1 -0
- data/lib/roast/tools/bash.rb +1 -0
- data/lib/roast/tools/cmd.rb +1 -0
- data/lib/roast/tools/coding_agent.rb +1 -0
- data/lib/roast/tools/context_summarizer.rb +1 -0
- data/lib/roast/tools/grep.rb +1 -0
- data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -0
- data/lib/roast/tools/read_file.rb +1 -0
- data/lib/roast/tools/search_file.rb +1 -0
- data/lib/roast/tools/swarm.rb +1 -0
- data/lib/roast/tools/update_files.rb +1 -0
- data/lib/roast/tools/write_file.rb +1 -0
- data/lib/roast/tools.rb +2 -0
- data/lib/roast/value_objects/api_token.rb +1 -0
- data/lib/roast/value_objects/step_name.rb +1 -0
- data/lib/roast/value_objects/uri_base.rb +1 -0
- data/lib/roast/value_objects/workflow_path.rb +1 -0
- data/lib/roast/value_objects.rb +1 -0
- data/lib/roast/version.rb +2 -1
- data/lib/roast/workflow/agent_step.rb +1 -0
- data/lib/roast/workflow/api_configuration.rb +1 -0
- data/lib/roast/workflow/base_iteration_step.rb +1 -0
- data/lib/roast/workflow/base_step.rb +1 -0
- data/lib/roast/workflow/base_workflow.rb +1 -0
- data/lib/roast/workflow/case_executor.rb +1 -0
- data/lib/roast/workflow/case_step.rb +1 -0
- data/lib/roast/workflow/command_executor.rb +1 -0
- data/lib/roast/workflow/conditional_executor.rb +1 -0
- data/lib/roast/workflow/conditional_step.rb +1 -0
- data/lib/roast/workflow/configuration.rb +9 -0
- data/lib/roast/workflow/configuration_loader.rb +4 -1
- data/lib/roast/workflow/context_manager.rb +1 -0
- data/lib/roast/workflow/context_path_resolver.rb +1 -0
- data/lib/roast/workflow/dot_access_hash.rb +1 -0
- data/lib/roast/workflow/each_step.rb +1 -0
- data/lib/roast/workflow/error_handler.rb +7 -1
- data/lib/roast/workflow/expression_evaluator.rb +1 -0
- data/lib/roast/workflow/expression_utils.rb +1 -0
- data/lib/roast/workflow/file_state_repository.rb +2 -1
- data/lib/roast/workflow/input_executor.rb +1 -0
- data/lib/roast/workflow/input_step.rb +1 -0
- data/lib/roast/workflow/interpolator.rb +2 -1
- data/lib/roast/workflow/iteration_executor.rb +1 -0
- data/lib/roast/workflow/llm_boolean_coercer.rb +1 -0
- data/lib/roast/workflow/metadata_manager.rb +1 -0
- data/lib/roast/workflow/output_handler.rb +1 -0
- data/lib/roast/workflow/output_manager.rb +1 -0
- data/lib/roast/workflow/parallel_executor.rb +1 -0
- data/lib/roast/workflow/prompt_step.rb +1 -0
- data/lib/roast/workflow/repeat_step.rb +1 -0
- data/lib/roast/workflow/replay_handler.rb +1 -0
- data/lib/roast/workflow/resource_resolver.rb +2 -6
- data/lib/roast/workflow/session_manager.rb +1 -0
- data/lib/roast/workflow/shell_script_step.rb +1 -0
- data/lib/roast/workflow/sqlite_state_repository.rb +1 -0
- data/lib/roast/workflow/state_manager.rb +1 -0
- data/lib/roast/workflow/state_repository.rb +1 -0
- data/lib/roast/workflow/state_repository_factory.rb +4 -2
- data/lib/roast/workflow/step_completion_reporter.rb +1 -0
- data/lib/roast/workflow/step_executor_coordinator.rb +9 -5
- data/lib/roast/workflow/step_executor_factory.rb +1 -0
- data/lib/roast/workflow/step_executor_registry.rb +2 -3
- data/lib/roast/workflow/step_executor_with_reporting.rb +1 -0
- data/lib/roast/workflow/step_executors/base_step_executor.rb +1 -0
- data/lib/roast/workflow/step_executors/hash_step_executor.rb +1 -0
- data/lib/roast/workflow/step_executors/parallel_step_executor.rb +1 -0
- data/lib/roast/workflow/step_executors/string_step_executor.rb +1 -0
- data/lib/roast/workflow/step_factory.rb +1 -0
- data/lib/roast/workflow/step_finder.rb +1 -0
- data/lib/roast/workflow/step_loader.rb +1 -0
- data/lib/roast/workflow/step_name_extractor.rb +1 -0
- data/lib/roast/workflow/step_runner.rb +1 -0
- data/lib/roast/workflow/step_type_resolver.rb +1 -0
- data/lib/roast/workflow/validation_command.rb +1 -0
- data/lib/roast/workflow/validator.rb +1 -0
- data/lib/roast/workflow/validators/base_validator.rb +1 -0
- data/lib/roast/workflow/validators/dependency_validator.rb +1 -0
- data/lib/roast/workflow/validators/linting_validator.rb +1 -0
- data/lib/roast/workflow/validators/schema_validator.rb +1 -0
- data/lib/roast/workflow/validators/step_collector.rb +1 -0
- data/lib/roast/workflow/validators/validation_orchestrator.rb +1 -0
- data/lib/roast/workflow/workflow_context.rb +1 -0
- data/lib/roast/workflow/workflow_execution_context.rb +1 -0
- data/lib/roast/workflow/workflow_executor.rb +2 -1
- data/lib/roast/workflow/workflow_initializer.rb +1 -0
- data/lib/roast/workflow/workflow_runner.rb +66 -55
- data/lib/roast/workflow.rb +1 -0
- data/lib/roast/workflow_diagram_generator.rb +3 -2
- data/lib/roast.rb +23 -8
- data/sorbet/config +8 -0
- data/sorbet/rbi/dsl/.gitattributes +1 -0
- data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/activesupport@8.0.2.rbi +19107 -0
- data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
- data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
- data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
- data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
- data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +62 -0
- data/sorbet/rbi/gems/cgi@0.5.0.rbi +2961 -0
- data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +568 -0
- data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +1991 -0
- data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +3181 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +9 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +11657 -0
- data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
- data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
- data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +972 -0
- data/sorbet/rbi/gems/dotenv@3.1.8.rbi +295 -0
- data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
- data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +672 -0
- data/sorbet/rbi/gems/dry-core@1.1.0.rbi +1894 -0
- data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +659 -0
- data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +781 -0
- data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +1127 -0
- data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +3727 -0
- data/sorbet/rbi/gems/dry-types@1.8.3.rbi +3969 -0
- data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
- data/sorbet/rbi/gems/event_stream_parser@1.0.0.rbi +49 -0
- data/sorbet/rbi/gems/faraday-multipart@1.1.1.rbi +283 -0
- data/sorbet/rbi/gems/faraday-net_http@3.4.1.rbi +147 -0
- data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +9 -0
- data/sorbet/rbi/gems/faraday@2.13.1.rbi +2977 -0
- data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +1588 -0
- data/sorbet/rbi/gems/ffi@1.17.2.rbi +9 -0
- data/sorbet/rbi/gems/formatador@1.1.0.rbi +9 -0
- data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +102 -0
- data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +402 -0
- data/sorbet/rbi/gems/guard@2.19.1.rbi +2283 -0
- data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +355 -0
- data/sorbet/rbi/gems/i18n@1.14.7.rbi +2359 -0
- data/sorbet/rbi/gems/json-schema@5.1.1.rbi +1466 -0
- data/sorbet/rbi/gems/json@2.12.2.rbi +2051 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +9 -0
- data/sorbet/rbi/gems/listen@3.9.0.rbi +1206 -0
- data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
- data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +1830 -0
- data/sorbet/rbi/gems/method_source@1.1.0.rbi +9 -0
- data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +136 -0
- data/sorbet/rbi/gems/mime-types@3.7.0.rbi +1342 -0
- data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +160 -0
- data/sorbet/rbi/gems/minitest@5.25.5.rbi +1640 -0
- data/sorbet/rbi/gems/mocha@2.7.1.rbi +12 -0
- data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +244 -0
- data/sorbet/rbi/gems/nenv@0.3.0.rbi +147 -0
- data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
- data/sorbet/rbi/gems/notiffany@0.1.3.rbi +1079 -0
- data/sorbet/rbi/gems/open_router@0.3.3.rbi +230 -0
- data/sorbet/rbi/gems/ostruct@0.6.2.rbi +354 -0
- data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
- data/sorbet/rbi/gems/parser@3.3.8.0.rbi +5535 -0
- data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
- data/sorbet/rbi/gems/pry@0.15.2.rbi +9 -0
- data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +936 -0
- data/sorbet/rbi/gems/racc@1.8.1.rbi +158 -0
- data/sorbet/rbi/gems/rack@2.2.17.rbi +5659 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +9 -0
- data/sorbet/rbi/gems/raix@1.0.2.rbi +1104 -0
- data/sorbet/rbi/gems/rake@13.3.0.rbi +3036 -0
- data/sorbet/rbi/gems/rb-fsevent@0.11.2.rbi +9 -0
- data/sorbet/rbi/gems/rb-inotify@0.11.1.rbi +9 -0
- data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
- data/sorbet/rbi/gems/rbs@3.9.4.rbi +6978 -0
- data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +9 -0
- data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
- data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +9 -0
- data/sorbet/rbi/gems/rubocop-shopify@2.17.1.rbi +9 -0
- data/sorbet/rbi/gems/rubocop@1.77.0.rbi +9 -0
- data/sorbet/rbi/gems/ruby-graphviz@1.2.5.rbi +1333 -0
- data/sorbet/rbi/gems/ruby-openai@8.1.0.rbi +758 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +9 -0
- data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
- data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
- data/sorbet/rbi/gems/shellany@0.0.1.rbi +102 -0
- data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
- data/sorbet/rbi/gems/sqlite3@2.7.0.rbi +1900 -0
- data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
- data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
- data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
- data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +9 -0
- data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +9 -0
- data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
- data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
- data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
- data/sorbet/rbi/gems/yard@0.9.37.rbi +18492 -0
- data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
- data/sorbet/tapioca/config.yml +13 -0
- data/sorbet/tapioca/require.rb +36 -0
- metadata +113 -2
- data/lib/roast/workflow/configuration_parser.rb +0 -54
@@ -0,0 +1,295 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `dotenv` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem dotenv`.
|
6
|
+
|
7
|
+
|
8
|
+
# Shim to load environment variables from `.env files into `ENV`.
|
9
|
+
#
|
10
|
+
# source://dotenv//lib/dotenv/version.rb#1
|
11
|
+
module Dotenv
|
12
|
+
extend ::Dotenv
|
13
|
+
|
14
|
+
# Returns the value of attribute instrumenter.
|
15
|
+
#
|
16
|
+
# source://dotenv//lib/dotenv.rb#15
|
17
|
+
def instrumenter; end
|
18
|
+
|
19
|
+
# Sets the attribute instrumenter
|
20
|
+
#
|
21
|
+
# @param value the value to set the attribute instrumenter to.
|
22
|
+
#
|
23
|
+
# source://dotenv//lib/dotenv.rb#15
|
24
|
+
def instrumenter=(_arg0); end
|
25
|
+
|
26
|
+
# Loads environment variables from one or more `.env` files. See `#parse` for more details.
|
27
|
+
#
|
28
|
+
# source://dotenv//lib/dotenv.rb#18
|
29
|
+
def load(*filenames, overwrite: T.unsafe(nil), ignore: T.unsafe(nil)); end
|
30
|
+
|
31
|
+
# Same as `#load`, but raises Errno::ENOENT if any files don't exist
|
32
|
+
#
|
33
|
+
# source://dotenv//lib/dotenv.rb#27
|
34
|
+
def load!(*filenames); end
|
35
|
+
|
36
|
+
# Modify `ENV` for the block and restore it to its previous state afterwards.
|
37
|
+
#
|
38
|
+
# Note that the block is synchronized to prevent concurrent modifications to `ENV`,
|
39
|
+
# so multiple threads will be executed serially.
|
40
|
+
#
|
41
|
+
# @param env [Hash] Hash of keys and values to set in `ENV`
|
42
|
+
#
|
43
|
+
# source://dotenv//lib/dotenv.rb#116
|
44
|
+
def modify(env = T.unsafe(nil), &block); end
|
45
|
+
|
46
|
+
# same as `#load`, but will overwrite existing values in `ENV`
|
47
|
+
#
|
48
|
+
# source://dotenv//lib/dotenv.rb#32
|
49
|
+
def overload(*filenames); end
|
50
|
+
|
51
|
+
# same as `#overwrite`, but raises Errno::ENOENT if any files don't exist
|
52
|
+
#
|
53
|
+
# source://dotenv//lib/dotenv.rb#38
|
54
|
+
def overload!(*filenames); end
|
55
|
+
|
56
|
+
# same as `#load`, but will overwrite existing values in `ENV`
|
57
|
+
#
|
58
|
+
# source://dotenv//lib/dotenv.rb#32
|
59
|
+
def overwrite(*filenames); end
|
60
|
+
|
61
|
+
# same as `#overwrite`, but raises Errno::ENOENT if any files don't exist
|
62
|
+
#
|
63
|
+
# source://dotenv//lib/dotenv.rb#38
|
64
|
+
def overwrite!(*filenames); end
|
65
|
+
|
66
|
+
# Parses the given files, yielding for each file if a block is given.
|
67
|
+
#
|
68
|
+
# @param filenames [String, Array<String>] Files to parse
|
69
|
+
# @param overwrite [Boolean] Overwrite existing `ENV` values
|
70
|
+
# @param ignore [Boolean] Ignore non-existent files
|
71
|
+
# @param block [Proc] Block to yield for each parsed `Dotenv::Environment`
|
72
|
+
# @return [Hash] parsed key/value pairs
|
73
|
+
#
|
74
|
+
# source://dotenv//lib/dotenv.rb#50
|
75
|
+
def parse(*filenames, overwrite: T.unsafe(nil), ignore: T.unsafe(nil), &block); end
|
76
|
+
|
77
|
+
# @raise [MissingKeys]
|
78
|
+
#
|
79
|
+
# source://dotenv//lib/dotenv.rb#126
|
80
|
+
def require_keys(*keys); end
|
81
|
+
|
82
|
+
# Restore `ENV` to a given state
|
83
|
+
#
|
84
|
+
# @param env [Hash] Hash of keys and values to restore, defaults to the last saved state
|
85
|
+
# @param safe [Boolean] Is it safe to modify `ENV`? Defaults to `true` in the main thread, otherwise raises an error.
|
86
|
+
#
|
87
|
+
# source://dotenv//lib/dotenv.rb#77
|
88
|
+
def restore(env = T.unsafe(nil), safe: T.unsafe(nil)); end
|
89
|
+
|
90
|
+
# Save the current `ENV` to be restored later
|
91
|
+
#
|
92
|
+
# source://dotenv//lib/dotenv.rb#67
|
93
|
+
def save; end
|
94
|
+
|
95
|
+
# Update `ENV` with the given hash of keys and values
|
96
|
+
#
|
97
|
+
# @param env [Hash] Hash of keys and values to set in `ENV`
|
98
|
+
# @param overwrite [Boolean] Overwrite existing `ENV` values
|
99
|
+
#
|
100
|
+
# source://dotenv//lib/dotenv.rb#98
|
101
|
+
def update(env = T.unsafe(nil), overwrite: T.unsafe(nil)); end
|
102
|
+
|
103
|
+
private
|
104
|
+
|
105
|
+
# source://dotenv//lib/dotenv.rb#134
|
106
|
+
def instrument(name, payload = T.unsafe(nil), &block); end
|
107
|
+
end
|
108
|
+
|
109
|
+
# A diff between multiple states of ENV.
|
110
|
+
#
|
111
|
+
# source://dotenv//lib/dotenv/diff.rb#3
|
112
|
+
class Dotenv::Diff
|
113
|
+
# Create a new diff. If given a block, the state of ENV after the block will be preserved as
|
114
|
+
# the final state for comparison. Otherwise, the current ENV will be the final state.
|
115
|
+
#
|
116
|
+
# @param a [Hash] the initial state, defaults to a snapshot of current ENV
|
117
|
+
# @param b [Hash] the final state, defaults to the current ENV
|
118
|
+
# @return [Diff] a new instance of Diff
|
119
|
+
# @yield [diff] a block to execute before recording the final state
|
120
|
+
#
|
121
|
+
# source://dotenv//lib/dotenv/diff.rb#16
|
122
|
+
def initialize(a: T.unsafe(nil), b: T.unsafe(nil), &block); end
|
123
|
+
|
124
|
+
# The initial state
|
125
|
+
#
|
126
|
+
# source://dotenv//lib/dotenv/diff.rb#5
|
127
|
+
def a; end
|
128
|
+
|
129
|
+
# Return a Hash of keys added with their new values
|
130
|
+
#
|
131
|
+
# source://dotenv//lib/dotenv/diff.rb#24
|
132
|
+
def added; end
|
133
|
+
|
134
|
+
# Returns true if any keys were added, removed, or changed
|
135
|
+
#
|
136
|
+
# @return [Boolean]
|
137
|
+
#
|
138
|
+
# source://dotenv//lib/dotenv/diff.rb#46
|
139
|
+
def any?; end
|
140
|
+
|
141
|
+
# The final or current state
|
142
|
+
#
|
143
|
+
# source://dotenv//lib/dotenv/diff.rb#8
|
144
|
+
def b; end
|
145
|
+
|
146
|
+
# Returns of Hash of keys changed with an array of their previous and new values
|
147
|
+
#
|
148
|
+
# source://dotenv//lib/dotenv/diff.rb#34
|
149
|
+
def changed; end
|
150
|
+
|
151
|
+
# Returns a Hash of all added, changed, and removed keys and their new values
|
152
|
+
#
|
153
|
+
# source://dotenv//lib/dotenv/diff.rb#41
|
154
|
+
def env; end
|
155
|
+
|
156
|
+
# Returns a Hash of keys removed with their previous values
|
157
|
+
#
|
158
|
+
# source://dotenv//lib/dotenv/diff.rb#29
|
159
|
+
def removed; end
|
160
|
+
|
161
|
+
private
|
162
|
+
|
163
|
+
# source://dotenv//lib/dotenv/diff.rb#52
|
164
|
+
def snapshot; end
|
165
|
+
end
|
166
|
+
|
167
|
+
# A `.env` file that will be read and parsed into a Hash
|
168
|
+
#
|
169
|
+
# source://dotenv//lib/dotenv/environment.rb#3
|
170
|
+
class Dotenv::Environment < ::Hash
|
171
|
+
# Create a new Environment
|
172
|
+
#
|
173
|
+
# @param filename [String] the path to the file to read
|
174
|
+
# @param overwrite [Boolean] whether the parser should assume existing values will be overwritten
|
175
|
+
# @return [Environment] a new instance of Environment
|
176
|
+
#
|
177
|
+
# source://dotenv//lib/dotenv/environment.rb#10
|
178
|
+
def initialize(filename, overwrite: T.unsafe(nil)); end
|
179
|
+
|
180
|
+
# Returns the value of attribute filename.
|
181
|
+
#
|
182
|
+
# source://dotenv//lib/dotenv/environment.rb#4
|
183
|
+
def filename; end
|
184
|
+
|
185
|
+
# source://dotenv//lib/dotenv/environment.rb#17
|
186
|
+
def load; end
|
187
|
+
|
188
|
+
# Returns the value of attribute overwrite.
|
189
|
+
#
|
190
|
+
# source://dotenv//lib/dotenv/environment.rb#4
|
191
|
+
def overwrite; end
|
192
|
+
|
193
|
+
# source://dotenv//lib/dotenv/environment.rb#21
|
194
|
+
def read; end
|
195
|
+
end
|
196
|
+
|
197
|
+
# source://dotenv//lib/dotenv/missing_keys.rb#2
|
198
|
+
class Dotenv::Error < ::StandardError; end
|
199
|
+
|
200
|
+
# Error raised when encountering a syntax error while parsing a .env file.
|
201
|
+
#
|
202
|
+
# source://dotenv//lib/dotenv/parser.rb#6
|
203
|
+
class Dotenv::FormatError < ::SyntaxError; end
|
204
|
+
|
205
|
+
# source://dotenv//lib/dotenv/missing_keys.rb#4
|
206
|
+
class Dotenv::MissingKeys < ::Dotenv::Error
|
207
|
+
# @return [MissingKeys] a new instance of MissingKeys
|
208
|
+
#
|
209
|
+
# source://dotenv//lib/dotenv/missing_keys.rb#5
|
210
|
+
def initialize(keys); end
|
211
|
+
end
|
212
|
+
|
213
|
+
# Parses the `.env` file format into key/value pairs.
|
214
|
+
# It allows for variable substitutions, command substitutions, and exporting of variables.
|
215
|
+
#
|
216
|
+
# source://dotenv//lib/dotenv/parser.rb#10
|
217
|
+
class Dotenv::Parser
|
218
|
+
# @return [Parser] a new instance of Parser
|
219
|
+
#
|
220
|
+
# source://dotenv//lib/dotenv/parser.rb#46
|
221
|
+
def initialize(string, overwrite: T.unsafe(nil)); end
|
222
|
+
|
223
|
+
# source://dotenv//lib/dotenv/parser.rb#53
|
224
|
+
def call; end
|
225
|
+
|
226
|
+
private
|
227
|
+
|
228
|
+
# Determine if a variable is already defined and should not be overwritten.
|
229
|
+
#
|
230
|
+
# @return [Boolean]
|
231
|
+
#
|
232
|
+
# source://dotenv//lib/dotenv/parser.rb#76
|
233
|
+
def existing?(key); end
|
234
|
+
|
235
|
+
# source://dotenv//lib/dotenv/parser.rb#101
|
236
|
+
def expand_newlines(value); end
|
237
|
+
|
238
|
+
# source://dotenv//lib/dotenv/parser.rb#80
|
239
|
+
def parse_value(value); end
|
240
|
+
|
241
|
+
# source://dotenv//lib/dotenv/parser.rb#97
|
242
|
+
def unescape_characters(value); end
|
243
|
+
|
244
|
+
class << self
|
245
|
+
# source://dotenv//lib/dotenv/parser.rb#41
|
246
|
+
def call(*_arg0, **_arg1, &_arg2); end
|
247
|
+
|
248
|
+
# Returns the value of attribute substitutions.
|
249
|
+
#
|
250
|
+
# source://dotenv//lib/dotenv/parser.rb#39
|
251
|
+
def substitutions; end
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
# source://dotenv//lib/dotenv/parser.rb#16
|
256
|
+
Dotenv::Parser::LINE = T.let(T.unsafe(nil), Regexp)
|
257
|
+
|
258
|
+
# source://dotenv//lib/dotenv/parser.rb#36
|
259
|
+
Dotenv::Parser::QUOTED_STRING = T.let(T.unsafe(nil), Regexp)
|
260
|
+
|
261
|
+
# An internal monitor to synchronize access to ENV in multi-threaded environments.
|
262
|
+
#
|
263
|
+
# source://dotenv//lib/dotenv.rb#12
|
264
|
+
Dotenv::SEMAPHORE = T.let(T.unsafe(nil), Monitor)
|
265
|
+
|
266
|
+
# source://dotenv//lib/dotenv/substitutions/variable.rb#4
|
267
|
+
module Dotenv::Substitutions; end
|
268
|
+
|
269
|
+
# Substitute shell commands in a value.
|
270
|
+
#
|
271
|
+
# SHA=$(git rev-parse HEAD)
|
272
|
+
#
|
273
|
+
# source://dotenv//lib/dotenv/substitutions/command.rb#9
|
274
|
+
module Dotenv::Substitutions::Command
|
275
|
+
class << self
|
276
|
+
# source://dotenv//lib/dotenv/substitutions/command.rb#23
|
277
|
+
def call(value, _env); end
|
278
|
+
end
|
279
|
+
end
|
280
|
+
|
281
|
+
# Substitute variables in a value.
|
282
|
+
#
|
283
|
+
# HOST=example.com
|
284
|
+
# URL="https://$HOST"
|
285
|
+
#
|
286
|
+
# source://dotenv//lib/dotenv/substitutions/variable.rb#10
|
287
|
+
module Dotenv::Substitutions::Variable
|
288
|
+
class << self
|
289
|
+
# source://dotenv//lib/dotenv/substitutions/variable.rb#21
|
290
|
+
def call(value, env); end
|
291
|
+
end
|
292
|
+
end
|
293
|
+
|
294
|
+
# source://dotenv//lib/dotenv/version.rb#2
|
295
|
+
Dotenv::VERSION = T.let(T.unsafe(nil), String)
|