lunchmoney 0.10.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 (142) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.github/dependabot.yml +18 -0
  4. data/.github/workflows/build_and_publish_yard_docs.yml +47 -0
  5. data/.github/workflows/ci.yml +58 -0
  6. data/.github/workflows/dependabot-rbi-updater.yml +43 -0
  7. data/.github/workflows/publish_gem.yml +31 -0
  8. data/.gitignore +62 -0
  9. data/.rubocop.yml +45 -0
  10. data/.ruby-version +1 -0
  11. data/.toys/.toys.rb +10 -0
  12. data/.toys/ci.rb +22 -0
  13. data/.toys/rbi.rb +60 -0
  14. data/.toys/rubocop.rb +10 -0
  15. data/.toys/spoom.rb +15 -0
  16. data/.toys/typecheck.rb +5 -0
  17. data/.yardopts +2 -0
  18. data/Appraisals +22 -0
  19. data/Gemfile +25 -0
  20. data/Gemfile.lock +174 -0
  21. data/LICENSE +21 -0
  22. data/README.md +57 -0
  23. data/bin/console +16 -0
  24. data/bin/rubocop +27 -0
  25. data/bin/setup +8 -0
  26. data/bin/spoom +27 -0
  27. data/bin/srb +27 -0
  28. data/bin/tapioca +27 -0
  29. data/bin/toys +27 -0
  30. data/bin/yard +27 -0
  31. data/lib/lunchmoney/api.rb +147 -0
  32. data/lib/lunchmoney/api_call.rb +109 -0
  33. data/lib/lunchmoney/assets/asset.rb +89 -0
  34. data/lib/lunchmoney/assets/asset_calls.rb +96 -0
  35. data/lib/lunchmoney/budget/budget.rb +74 -0
  36. data/lib/lunchmoney/budget/budget_calls.rb +82 -0
  37. data/lib/lunchmoney/budget/config.rb +38 -0
  38. data/lib/lunchmoney/budget/data.rb +42 -0
  39. data/lib/lunchmoney/categories/category/category.rb +52 -0
  40. data/lib/lunchmoney/categories/category/child_category.rb +42 -0
  41. data/lib/lunchmoney/categories/category_calls.rb +195 -0
  42. data/lib/lunchmoney/configuration.rb +26 -0
  43. data/lib/lunchmoney/crypto/crypto/crypto.rb +43 -0
  44. data/lib/lunchmoney/crypto/crypto/crypto_base.rb +65 -0
  45. data/lib/lunchmoney/crypto/crypto_calls.rb +49 -0
  46. data/lib/lunchmoney/data_object.rb +25 -0
  47. data/lib/lunchmoney/errors.rb +19 -0
  48. data/lib/lunchmoney/exceptions.rb +19 -0
  49. data/lib/lunchmoney/plaid_accounts/plaid_account.rb +73 -0
  50. data/lib/lunchmoney/plaid_accounts/plaid_account_calls.rb +38 -0
  51. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb +65 -0
  52. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb +29 -0
  53. data/lib/lunchmoney/recurring_expenses/recurring_expense_calls.rb +28 -0
  54. data/lib/lunchmoney/tags/tag/tag.rb +20 -0
  55. data/lib/lunchmoney/tags/tag/tag_base.rb +21 -0
  56. data/lib/lunchmoney/tags/tag_calls.rb +20 -0
  57. data/lib/lunchmoney/transactions/transaction/child_transaction.rb +31 -0
  58. data/lib/lunchmoney/transactions/transaction/split.rb +24 -0
  59. data/lib/lunchmoney/transactions/transaction/transaction.rb +156 -0
  60. data/lib/lunchmoney/transactions/transaction/transaction_base.rb +52 -0
  61. data/lib/lunchmoney/transactions/transaction/transaction_modification_base.rb +30 -0
  62. data/lib/lunchmoney/transactions/transaction/update_transaction.rb +43 -0
  63. data/lib/lunchmoney/transactions/transaction_calls.rb +218 -0
  64. data/lib/lunchmoney/user/user.rb +36 -0
  65. data/lib/lunchmoney/user/user_calls.rb +19 -0
  66. data/lib/lunchmoney/validators.rb +43 -0
  67. data/lib/lunchmoney/version.rb +7 -0
  68. data/lib/lunchmoney.rb +54 -0
  69. data/lunchmoney.gemspec +34 -0
  70. data/sorbet/config +5 -0
  71. data/sorbet/rbi/annotations/.gitattributes +1 -0
  72. data/sorbet/rbi/annotations/activesupport.rbi +410 -0
  73. data/sorbet/rbi/annotations/faraday.rbi +17 -0
  74. data/sorbet/rbi/annotations/mocha.rbi +34 -0
  75. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  76. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  77. data/sorbet/rbi/dsl/.gitattributes +1 -0
  78. data/sorbet/rbi/dsl/active_support/callbacks.rbi +22 -0
  79. data/sorbet/rbi/gems/.gitattributes +1 -0
  80. data/sorbet/rbi/gems/activesupport@7.1.3.rbi +18004 -0
  81. data/sorbet/rbi/gems/addressable@2.8.6.rbi +1993 -0
  82. data/sorbet/rbi/gems/appraisal@2.5.0.rbi +621 -0
  83. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  84. data/sorbet/rbi/gems/base64@0.2.0.rbi +508 -0
  85. data/sorbet/rbi/gems/bigdecimal@3.1.6.rbi +77 -0
  86. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  87. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +11590 -0
  88. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +8 -0
  89. data/sorbet/rbi/gems/crack@0.4.5.rbi +144 -0
  90. data/sorbet/rbi/gems/dotenv@2.8.1.rbi +234 -0
  91. data/sorbet/rbi/gems/drb@2.2.0.rbi +1346 -0
  92. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  93. data/sorbet/rbi/gems/faraday-net_http@3.1.0.rbi +146 -0
  94. data/sorbet/rbi/gems/faraday@2.9.0.rbi +2911 -0
  95. data/sorbet/rbi/gems/hashdiff@1.1.0.rbi +352 -0
  96. data/sorbet/rbi/gems/i18n@1.14.1.rbi +2325 -0
  97. data/sorbet/rbi/gems/json@2.7.1.rbi +1561 -0
  98. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  99. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  100. data/sorbet/rbi/gems/minitest@5.21.2.rbi +2197 -0
  101. data/sorbet/rbi/gems/mocha@2.1.0.rbi +3934 -0
  102. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +93 -0
  103. data/sorbet/rbi/gems/net-http@0.4.1.rbi +4068 -0
  104. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  105. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  106. data/sorbet/rbi/gems/parser@3.3.0.5.rbi +5472 -0
  107. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  108. data/sorbet/rbi/gems/prism@0.19.0.rbi +29883 -0
  109. data/sorbet/rbi/gems/pry-sorbet@0.2.1.rbi +966 -0
  110. data/sorbet/rbi/gems/pry@0.14.2.rbi +10077 -0
  111. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +935 -0
  112. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  113. data/sorbet/rbi/gems/rack@3.0.8.rbi +5183 -0
  114. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  115. data/sorbet/rbi/gems/rake@13.1.0.rbi +3027 -0
  116. data/sorbet/rbi/gems/rbi@0.1.6.rbi +2922 -0
  117. data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
  118. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  119. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7117 -0
  120. data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +2576 -0
  121. data/sorbet/rbi/gems/rubocop-rails@2.23.1.rbi +9175 -0
  122. data/sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi +8 -0
  123. data/sorbet/rbi/gems/rubocop-sorbet@0.7.6.rbi +1510 -0
  124. data/sorbet/rbi/gems/rubocop@1.60.1.rbi +57356 -0
  125. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  126. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
  127. data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
  128. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23136 -0
  129. data/sorbet/rbi/gems/tapioca@0.12.0.rbi +3506 -0
  130. data/sorbet/rbi/gems/thor@1.3.0.rbi +4312 -0
  131. data/sorbet/rbi/gems/toys-core@0.15.4.rbi +9462 -0
  132. data/sorbet/rbi/gems/toys@0.15.4.rbi +243 -0
  133. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
  134. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  135. data/sorbet/rbi/gems/uri@0.13.0.rbi +2327 -0
  136. data/sorbet/rbi/gems/vcr@6.2.0.rbi +3036 -0
  137. data/sorbet/rbi/gems/webmock@3.19.1.rbi +1768 -0
  138. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  139. data/sorbet/rbi/gems/yard@0.9.34.rbi +18084 -0
  140. data/sorbet/shims/module.rbi +6 -0
  141. data/sorbet/tapioca/require.rb +10 -0
  142. metadata +228 -0
@@ -0,0 +1,8 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `connection_pool` gem.
5
+ # Please instead update this file by running `bin/tapioca gem connection_pool`.
6
+
7
+ # THIS IS AN EMPTY RBI FILE.
8
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -0,0 +1,144 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `crack` gem.
5
+ # Please instead update this file by running `bin/tapioca gem crack`.
6
+
7
+ # source://crack//lib/crack/xml.rb#196
8
+ module Crack; end
9
+
10
+ # source://crack//lib/crack/xml.rb#197
11
+ class Crack::REXMLParser
12
+ class << self
13
+ # source://crack//lib/crack/xml.rb#198
14
+ def parse(xml); end
15
+ end
16
+ end
17
+
18
+ # source://crack//lib/crack/xml.rb#225
19
+ class Crack::XML
20
+ class << self
21
+ # source://crack//lib/crack/xml.rb#234
22
+ def parse(xml); end
23
+
24
+ # source://crack//lib/crack/xml.rb#226
25
+ def parser; end
26
+
27
+ # source://crack//lib/crack/xml.rb#230
28
+ def parser=(parser); end
29
+ end
30
+ end
31
+
32
+ # This is a slighly modified version of the XMLUtilityNode from
33
+ # http://merb.devjavu.com/projects/merb/ticket/95 (has.sox@gmail.com)
34
+ # It's mainly just adding vowels, as I ht cd wth n vwls :)
35
+ # This represents the hard part of the work, all I did was change the
36
+ # underlying parser.
37
+ #
38
+ # source://crack//lib/crack/xml.rb#23
39
+ class REXMLUtilityNode
40
+ # @return [REXMLUtilityNode] a new instance of REXMLUtilityNode
41
+ #
42
+ # source://crack//lib/crack/xml.rb#56
43
+ def initialize(name, normalized_attributes = T.unsafe(nil)); end
44
+
45
+ # source://crack//lib/crack/xml.rb#73
46
+ def add_node(node); end
47
+
48
+ # source://crack//lib/crack/xml.rb#24
49
+ def attributes; end
50
+
51
+ # source://crack//lib/crack/xml.rb#24
52
+ def attributes=(_arg0); end
53
+
54
+ # source://crack//lib/crack/xml.rb#24
55
+ def children; end
56
+
57
+ # source://crack//lib/crack/xml.rb#24
58
+ def children=(_arg0); end
59
+
60
+ # Get the inner_html of the REXML node.
61
+ #
62
+ # source://crack//lib/crack/xml.rb#172
63
+ def inner_html; end
64
+
65
+ # source://crack//lib/crack/xml.rb#24
66
+ def name; end
67
+
68
+ # source://crack//lib/crack/xml.rb#24
69
+ def name=(_arg0); end
70
+
71
+ # source://crack//lib/crack/xml.rb#78
72
+ def to_hash; end
73
+
74
+ # Converts the node into a readable HTML node.
75
+ #
76
+ # @return [String] The HTML node in text form.
77
+ #
78
+ # source://crack//lib/crack/xml.rb#179
79
+ def to_html; end
80
+
81
+ # source://crack//lib/crack/xml.rb#185
82
+ def to_s; end
83
+
84
+ # source://crack//lib/crack/xml.rb#24
85
+ def type; end
86
+
87
+ # source://crack//lib/crack/xml.rb#24
88
+ def type=(_arg0); end
89
+
90
+ # Typecasts a value based upon its type. For instance, if
91
+ # +node+ has #type == "integer",
92
+ # {{[node.typecast_value("12") #=> 12]}}
93
+ #
94
+ # @note If +self+ does not have a "type" key, or if it's not one of the
95
+ # options specified above, the raw +value+ will be returned.
96
+ # @param value [String] The value that is being typecast.
97
+ # @return [Integer, TrueClass, FalseClass, Time, Date, Object] The result of typecasting +value+.
98
+ #
99
+ # source://crack//lib/crack/xml.rb#157
100
+ def typecast_value(value); end
101
+
102
+ # Take keys of the form foo-bar and convert them to foo_bar
103
+ #
104
+ # source://crack//lib/crack/xml.rb#164
105
+ def undasherize_keys(params); end
106
+
107
+ private
108
+
109
+ # source://crack//lib/crack/xml.rb#191
110
+ def unnormalize_xml_entities(value); end
111
+
112
+ class << self
113
+ # source://crack//lib/crack/xml.rb#34
114
+ def available_typecasts; end
115
+
116
+ # source://crack//lib/crack/xml.rb#38
117
+ def available_typecasts=(obj); end
118
+
119
+ # source://crack//lib/crack/xml.rb#26
120
+ def typecasts; end
121
+
122
+ # source://crack//lib/crack/xml.rb#30
123
+ def typecasts=(obj); end
124
+ end
125
+ end
126
+
127
+ # The Reason behind redefining the String Class for this specific plugin is to
128
+ # avoid the dynamic insertion of stuff on it (see version previous to this commit).
129
+ # Doing that disables the possibility of efectuating a dump on the structure. This way it goes.
130
+ #
131
+ # source://crack//lib/crack/xml.rb#14
132
+ class REXMLUtiliyNodeString < ::String
133
+ # Returns the value of attribute attributes.
134
+ #
135
+ # source://crack//lib/crack/xml.rb#15
136
+ def attributes; end
137
+
138
+ # Sets the attribute attributes
139
+ #
140
+ # @param value the value to set the attribute attributes to.
141
+ #
142
+ # source://crack//lib/crack/xml.rb#15
143
+ def attributes=(_arg0); end
144
+ end
@@ -0,0 +1,234 @@
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
+ # The top level Dotenv module. The entrypoint for the application logic.
8
+ #
9
+ # source://dotenv//lib/dotenv/substitutions/variable.rb#3
10
+ module Dotenv
11
+ private
12
+
13
+ # source://dotenv//lib/dotenv.rb#82
14
+ def ignoring_nonexistent_files; end
15
+
16
+ # source://dotenv//lib/dotenv.rb#68
17
+ def instrument(name, payload = T.unsafe(nil), &block); end
18
+
19
+ # source://dotenv//lib/dotenv.rb#13
20
+ def load(*filenames); end
21
+
22
+ # same as `load`, but raises Errno::ENOENT if any files don't exist
23
+ #
24
+ # source://dotenv//lib/dotenv.rb#23
25
+ def load!(*filenames); end
26
+
27
+ # same as `load`, but will override existing values in `ENV`
28
+ #
29
+ # source://dotenv//lib/dotenv.rb#31
30
+ def overload(*filenames); end
31
+
32
+ # same as `overload`, but raises Errno::ENOENT if any files don't exist
33
+ #
34
+ # source://dotenv//lib/dotenv.rb#41
35
+ def overload!(*filenames); end
36
+
37
+ # returns a hash of parsed key/value pairs but does not modify ENV
38
+ #
39
+ # source://dotenv//lib/dotenv.rb#49
40
+ def parse(*filenames); end
41
+
42
+ # source://dotenv//lib/dotenv.rb#76
43
+ def require_keys(*keys); end
44
+
45
+ # Internal: Helper to expand list of filenames.
46
+ #
47
+ # Returns a hash of all the loaded environment variables.
48
+ #
49
+ # source://dotenv//lib/dotenv.rb#60
50
+ def with(*filenames); end
51
+
52
+ class << self
53
+ # source://dotenv//lib/dotenv.rb#82
54
+ def ignoring_nonexistent_files; end
55
+
56
+ # source://dotenv//lib/dotenv.rb#68
57
+ def instrument(name, payload = T.unsafe(nil), &block); end
58
+
59
+ # Returns the value of attribute instrumenter.
60
+ #
61
+ # source://dotenv//lib/dotenv.rb#8
62
+ def instrumenter; end
63
+
64
+ # Sets the attribute instrumenter
65
+ #
66
+ # @param value the value to set the attribute instrumenter to.
67
+ #
68
+ # source://dotenv//lib/dotenv.rb#8
69
+ def instrumenter=(_arg0); end
70
+
71
+ # source://dotenv//lib/dotenv.rb#13
72
+ def load(*filenames); end
73
+
74
+ # same as `load`, but raises Errno::ENOENT if any files don't exist
75
+ #
76
+ # source://dotenv//lib/dotenv.rb#23
77
+ def load!(*filenames); end
78
+
79
+ # same as `load`, but will override existing values in `ENV`
80
+ #
81
+ # source://dotenv//lib/dotenv.rb#31
82
+ def overload(*filenames); end
83
+
84
+ # same as `overload`, but raises Errno::ENOENT if any files don't exist
85
+ #
86
+ # source://dotenv//lib/dotenv.rb#41
87
+ def overload!(*filenames); end
88
+
89
+ # returns a hash of parsed key/value pairs but does not modify ENV
90
+ #
91
+ # source://dotenv//lib/dotenv.rb#49
92
+ def parse(*filenames); end
93
+
94
+ # @raise [MissingKeys]
95
+ #
96
+ # source://dotenv//lib/dotenv.rb#76
97
+ def require_keys(*keys); end
98
+
99
+ # Internal: Helper to expand list of filenames.
100
+ #
101
+ # Returns a hash of all the loaded environment variables.
102
+ #
103
+ # source://dotenv//lib/dotenv.rb#60
104
+ def with(*filenames); end
105
+ end
106
+ end
107
+
108
+ # This class inherits from Hash and represents the environment into which
109
+ # Dotenv will load key value pairs from a file.
110
+ #
111
+ # source://dotenv//lib/dotenv/environment.rb#4
112
+ class Dotenv::Environment < ::Hash
113
+ # @return [Environment] a new instance of Environment
114
+ #
115
+ # source://dotenv//lib/dotenv/environment.rb#7
116
+ def initialize(filename, is_load = T.unsafe(nil)); end
117
+
118
+ # source://dotenv//lib/dotenv/environment.rb#20
119
+ def apply; end
120
+
121
+ # source://dotenv//lib/dotenv/environment.rb#24
122
+ def apply!; end
123
+
124
+ # Returns the value of attribute filename.
125
+ #
126
+ # source://dotenv//lib/dotenv/environment.rb#5
127
+ def filename; end
128
+
129
+ # source://dotenv//lib/dotenv/environment.rb#12
130
+ def load(is_load = T.unsafe(nil)); end
131
+
132
+ # source://dotenv//lib/dotenv/environment.rb#16
133
+ def read; end
134
+ end
135
+
136
+ # source://dotenv//lib/dotenv/missing_keys.rb#2
137
+ class Dotenv::Error < ::StandardError; end
138
+
139
+ # source://dotenv//lib/dotenv/parser.rb#5
140
+ class Dotenv::FormatError < ::SyntaxError; end
141
+
142
+ # source://dotenv//lib/dotenv/missing_keys.rb#4
143
+ class Dotenv::MissingKeys < ::Dotenv::Error
144
+ # @return [MissingKeys] a new instance of MissingKeys
145
+ #
146
+ # source://dotenv//lib/dotenv/missing_keys.rb#5
147
+ def initialize(keys); end
148
+ end
149
+
150
+ # This class enables parsing of a string for key value pairs to be returned
151
+ # and stored in the Environment. It allows for variable substitutions and
152
+ # exporting of variables.
153
+ #
154
+ # source://dotenv//lib/dotenv/parser.rb#10
155
+ class Dotenv::Parser
156
+ # @return [Parser] a new instance of Parser
157
+ #
158
+ # source://dotenv//lib/dotenv/parser.rb#40
159
+ def initialize(string, is_load = T.unsafe(nil)); end
160
+
161
+ # source://dotenv//lib/dotenv/parser.rb#46
162
+ def call; end
163
+
164
+ private
165
+
166
+ # source://dotenv//lib/dotenv/parser.rb#82
167
+ def expand_newlines(value); end
168
+
169
+ # source://dotenv//lib/dotenv/parser.rb#62
170
+ def parse_line(line); end
171
+
172
+ # source://dotenv//lib/dotenv/parser.rb#70
173
+ def parse_value(value); end
174
+
175
+ # source://dotenv//lib/dotenv/parser.rb#100
176
+ def perform_substitutions(value, maybe_quote); end
177
+
178
+ # source://dotenv//lib/dotenv/parser.rb#78
179
+ def unescape_characters(value); end
180
+
181
+ # source://dotenv//lib/dotenv/parser.rb#90
182
+ def unescape_value(value, maybe_quote); end
183
+
184
+ # @return [Boolean]
185
+ #
186
+ # source://dotenv//lib/dotenv/parser.rb#86
187
+ def variable_not_set?(line); end
188
+
189
+ class << self
190
+ # source://dotenv//lib/dotenv/parser.rb#35
191
+ def call(string, is_load = T.unsafe(nil)); end
192
+
193
+ # Returns the value of attribute substitutions.
194
+ #
195
+ # source://dotenv//lib/dotenv/parser.rb#33
196
+ def substitutions; end
197
+ end
198
+ end
199
+
200
+ # source://dotenv//lib/dotenv/parser.rb#14
201
+ Dotenv::Parser::LINE = T.let(T.unsafe(nil), Regexp)
202
+
203
+ # source://dotenv//lib/dotenv/substitutions/variable.rb#4
204
+ module Dotenv::Substitutions; end
205
+
206
+ # Substitute shell commands in a value.
207
+ #
208
+ # SHA=$(git rev-parse HEAD)
209
+ #
210
+ # source://dotenv//lib/dotenv/substitutions/command.rb#9
211
+ module Dotenv::Substitutions::Command
212
+ class << self
213
+ # source://dotenv//lib/dotenv/substitutions/command.rb#23
214
+ def call(value, _env, _is_load); end
215
+ end
216
+ end
217
+
218
+ # Substitute variables in a value.
219
+ #
220
+ # HOST=example.com
221
+ # URL="https://$HOST"
222
+ #
223
+ # source://dotenv//lib/dotenv/substitutions/variable.rb#10
224
+ module Dotenv::Substitutions::Variable
225
+ class << self
226
+ # source://dotenv//lib/dotenv/substitutions/variable.rb#21
227
+ def call(value, env, is_load); end
228
+
229
+ private
230
+
231
+ # source://dotenv//lib/dotenv/substitutions/variable.rb#31
232
+ def substitute(match, variable, env); end
233
+ end
234
+ end