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.
- checksums.yaml +7 -0
- data/.DS_Store +0 -0
- data/.github/dependabot.yml +18 -0
- data/.github/workflows/build_and_publish_yard_docs.yml +47 -0
- data/.github/workflows/ci.yml +58 -0
- data/.github/workflows/dependabot-rbi-updater.yml +43 -0
- data/.github/workflows/publish_gem.yml +31 -0
- data/.gitignore +62 -0
- data/.rubocop.yml +45 -0
- data/.ruby-version +1 -0
- data/.toys/.toys.rb +10 -0
- data/.toys/ci.rb +22 -0
- data/.toys/rbi.rb +60 -0
- data/.toys/rubocop.rb +10 -0
- data/.toys/spoom.rb +15 -0
- data/.toys/typecheck.rb +5 -0
- data/.yardopts +2 -0
- data/Appraisals +22 -0
- data/Gemfile +25 -0
- data/Gemfile.lock +174 -0
- data/LICENSE +21 -0
- data/README.md +57 -0
- data/bin/console +16 -0
- data/bin/rubocop +27 -0
- data/bin/setup +8 -0
- data/bin/spoom +27 -0
- data/bin/srb +27 -0
- data/bin/tapioca +27 -0
- data/bin/toys +27 -0
- data/bin/yard +27 -0
- data/lib/lunchmoney/api.rb +147 -0
- data/lib/lunchmoney/api_call.rb +109 -0
- data/lib/lunchmoney/assets/asset.rb +89 -0
- data/lib/lunchmoney/assets/asset_calls.rb +96 -0
- data/lib/lunchmoney/budget/budget.rb +74 -0
- data/lib/lunchmoney/budget/budget_calls.rb +82 -0
- data/lib/lunchmoney/budget/config.rb +38 -0
- data/lib/lunchmoney/budget/data.rb +42 -0
- data/lib/lunchmoney/categories/category/category.rb +52 -0
- data/lib/lunchmoney/categories/category/child_category.rb +42 -0
- data/lib/lunchmoney/categories/category_calls.rb +195 -0
- data/lib/lunchmoney/configuration.rb +26 -0
- data/lib/lunchmoney/crypto/crypto/crypto.rb +43 -0
- data/lib/lunchmoney/crypto/crypto/crypto_base.rb +65 -0
- data/lib/lunchmoney/crypto/crypto_calls.rb +49 -0
- data/lib/lunchmoney/data_object.rb +25 -0
- data/lib/lunchmoney/errors.rb +19 -0
- data/lib/lunchmoney/exceptions.rb +19 -0
- data/lib/lunchmoney/plaid_accounts/plaid_account.rb +73 -0
- data/lib/lunchmoney/plaid_accounts/plaid_account_calls.rb +38 -0
- data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb +65 -0
- data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb +29 -0
- data/lib/lunchmoney/recurring_expenses/recurring_expense_calls.rb +28 -0
- data/lib/lunchmoney/tags/tag/tag.rb +20 -0
- data/lib/lunchmoney/tags/tag/tag_base.rb +21 -0
- data/lib/lunchmoney/tags/tag_calls.rb +20 -0
- data/lib/lunchmoney/transactions/transaction/child_transaction.rb +31 -0
- data/lib/lunchmoney/transactions/transaction/split.rb +24 -0
- data/lib/lunchmoney/transactions/transaction/transaction.rb +156 -0
- data/lib/lunchmoney/transactions/transaction/transaction_base.rb +52 -0
- data/lib/lunchmoney/transactions/transaction/transaction_modification_base.rb +30 -0
- data/lib/lunchmoney/transactions/transaction/update_transaction.rb +43 -0
- data/lib/lunchmoney/transactions/transaction_calls.rb +218 -0
- data/lib/lunchmoney/user/user.rb +36 -0
- data/lib/lunchmoney/user/user_calls.rb +19 -0
- data/lib/lunchmoney/validators.rb +43 -0
- data/lib/lunchmoney/version.rb +7 -0
- data/lib/lunchmoney.rb +54 -0
- data/lunchmoney.gemspec +34 -0
- data/sorbet/config +5 -0
- data/sorbet/rbi/annotations/.gitattributes +1 -0
- data/sorbet/rbi/annotations/activesupport.rbi +410 -0
- data/sorbet/rbi/annotations/faraday.rbi +17 -0
- data/sorbet/rbi/annotations/mocha.rbi +34 -0
- data/sorbet/rbi/annotations/rainbow.rbi +269 -0
- data/sorbet/rbi/annotations/webmock.rbi +9 -0
- data/sorbet/rbi/dsl/.gitattributes +1 -0
- data/sorbet/rbi/dsl/active_support/callbacks.rbi +22 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/activesupport@7.1.3.rbi +18004 -0
- data/sorbet/rbi/gems/addressable@2.8.6.rbi +1993 -0
- data/sorbet/rbi/gems/appraisal@2.5.0.rbi +621 -0
- data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
- data/sorbet/rbi/gems/base64@0.2.0.rbi +508 -0
- data/sorbet/rbi/gems/bigdecimal@3.1.6.rbi +77 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +11590 -0
- data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +8 -0
- data/sorbet/rbi/gems/crack@0.4.5.rbi +144 -0
- data/sorbet/rbi/gems/dotenv@2.8.1.rbi +234 -0
- data/sorbet/rbi/gems/drb@2.2.0.rbi +1346 -0
- data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
- data/sorbet/rbi/gems/faraday-net_http@3.1.0.rbi +146 -0
- data/sorbet/rbi/gems/faraday@2.9.0.rbi +2911 -0
- data/sorbet/rbi/gems/hashdiff@1.1.0.rbi +352 -0
- data/sorbet/rbi/gems/i18n@1.14.1.rbi +2325 -0
- data/sorbet/rbi/gems/json@2.7.1.rbi +1561 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
- data/sorbet/rbi/gems/minitest@5.21.2.rbi +2197 -0
- data/sorbet/rbi/gems/mocha@2.1.0.rbi +3934 -0
- data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +93 -0
- data/sorbet/rbi/gems/net-http@0.4.1.rbi +4068 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
- data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
- data/sorbet/rbi/gems/parser@3.3.0.5.rbi +5472 -0
- data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
- data/sorbet/rbi/gems/prism@0.19.0.rbi +29883 -0
- data/sorbet/rbi/gems/pry-sorbet@0.2.1.rbi +966 -0
- data/sorbet/rbi/gems/pry@0.14.2.rbi +10077 -0
- data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +935 -0
- data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
- data/sorbet/rbi/gems/rack@3.0.8.rbi +5183 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
- data/sorbet/rbi/gems/rake@13.1.0.rbi +3027 -0
- data/sorbet/rbi/gems/rbi@0.1.6.rbi +2922 -0
- data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
- data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
- data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7117 -0
- data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +2576 -0
- data/sorbet/rbi/gems/rubocop-rails@2.23.1.rbi +9175 -0
- data/sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi +8 -0
- data/sorbet/rbi/gems/rubocop-sorbet@0.7.6.rbi +1510 -0
- data/sorbet/rbi/gems/rubocop@1.60.1.rbi +57356 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
- data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
- data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
- data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23136 -0
- data/sorbet/rbi/gems/tapioca@0.12.0.rbi +3506 -0
- data/sorbet/rbi/gems/thor@1.3.0.rbi +4312 -0
- data/sorbet/rbi/gems/toys-core@0.15.4.rbi +9462 -0
- data/sorbet/rbi/gems/toys@0.15.4.rbi +243 -0
- data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
- data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
- data/sorbet/rbi/gems/uri@0.13.0.rbi +2327 -0
- data/sorbet/rbi/gems/vcr@6.2.0.rbi +3036 -0
- data/sorbet/rbi/gems/webmock@3.19.1.rbi +1768 -0
- data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
- data/sorbet/rbi/gems/yard@0.9.34.rbi +18084 -0
- data/sorbet/shims/module.rbi +6 -0
- data/sorbet/tapioca/require.rb +10 -0
- metadata +228 -0
@@ -0,0 +1,243 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `toys` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem toys`.
|
6
|
+
|
7
|
+
# Toys is a configurable command line tool. Write commands in config files
|
8
|
+
# using a simple DSL, and Toys will provide the command line executable and
|
9
|
+
# take care of all the details such as argument parsing, online help, and error
|
10
|
+
# reporting. Toys is designed for software developers, IT professionals, and
|
11
|
+
# other power users who want to write and organize scripts to automate their
|
12
|
+
# workflows. It can also be used as a Rake replacement, providing a more
|
13
|
+
# natural command line interface for your project's build tasks.
|
14
|
+
#
|
15
|
+
# This set of documentation includes classes from both Toys-Core, the
|
16
|
+
# underlying command line framework, and the Toys executable itself. Most of
|
17
|
+
# the actual classes you will likely need to look up are from Toys-Core.
|
18
|
+
#
|
19
|
+
# ## Common starting points
|
20
|
+
#
|
21
|
+
# * For information on the DSL used to write tools, start with
|
22
|
+
# {Toys::DSL::Tool}.
|
23
|
+
# * The base class for tool runtime (i.e. that defines the basic methods
|
24
|
+
# available to a tool's implementation) is {Toys::Context}.
|
25
|
+
# * For information on writing mixins, see {Toys::Mixin}.
|
26
|
+
# * For information on writing templates, see {Toys::Template}.
|
27
|
+
# * For information on writing acceptors, see {Toys::Acceptor}.
|
28
|
+
# * For information on writing custom shell completions, see {Toys::Completion}.
|
29
|
+
# * Standard mixins are defined under the {Toys::StandardMixins} module.
|
30
|
+
# * Various utilities are defined under {Toys::Utils}. Some of these serve as
|
31
|
+
# the implementations of corresponding mixins.
|
32
|
+
#
|
33
|
+
# source://toys//lib/toys/version.rb#3
|
34
|
+
module Toys
|
35
|
+
class << self
|
36
|
+
# source://toys-core/0.15.4/lib/toys/dsl/base.rb#28
|
37
|
+
def Tool(*args, name: T.unsafe(nil), base: T.unsafe(nil)); end
|
38
|
+
|
39
|
+
# source://toys-core/0.15.4/lib/toys-core.rb#114
|
40
|
+
def executable_path; end
|
41
|
+
|
42
|
+
# source://toys-core/0.15.4/lib/toys-core.rb#114
|
43
|
+
def executable_path=(_arg0); end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# Path to the Toys executable.
|
48
|
+
#
|
49
|
+
# @return [String] Absolute path to the executable
|
50
|
+
# @return [nil] if the Toys executable is not running.
|
51
|
+
#
|
52
|
+
# source://toys//lib/toys.rb#59
|
53
|
+
Toys::EXECUTABLE_PATH = T.let(T.unsafe(nil), String)
|
54
|
+
|
55
|
+
# @private
|
56
|
+
#
|
57
|
+
# source://toys//lib/toys.rb#64
|
58
|
+
Toys::LIB_PATH = T.let(T.unsafe(nil), String)
|
59
|
+
|
60
|
+
# Subclass of `Toys::CLI` configured for the behavior of the standard Toys
|
61
|
+
# executable. Specifically, this subclass:
|
62
|
+
#
|
63
|
+
# * Configures the standard names of files and directories, such as the
|
64
|
+
# `.toys.rb` file for an "index" tool, and the `.data` and `.lib` directory
|
65
|
+
# names.
|
66
|
+
# * Configures default descriptions for the root tool.
|
67
|
+
# * Configures a default error handler and logger that provide ANSI-colored
|
68
|
+
# formatted output.
|
69
|
+
# * Configures a set of middleware that implement online help, verbosity
|
70
|
+
# flags, and other features.
|
71
|
+
# * Provides a set of standard templates for typical project build and
|
72
|
+
# maintenance scripts (suh as clean, test, and rubocop).
|
73
|
+
# * Finds tool definitions in the standard Toys search path.
|
74
|
+
#
|
75
|
+
# source://toys//lib/toys/standard_cli.rb#20
|
76
|
+
class Toys::StandardCLI < ::Toys::CLI
|
77
|
+
# Create a standard CLI, configured with the appropriate paths and
|
78
|
+
# middleware.
|
79
|
+
#
|
80
|
+
# @param custom_paths [String, Array<String>] Custom paths to use. If set,
|
81
|
+
# the CLI uses only the given paths. If not, the CLI will search for
|
82
|
+
# paths from the current directory and global paths.
|
83
|
+
# @param include_builtins [boolean] Add the builtin tools. Default is true.
|
84
|
+
# @param cur_dir [String, nil] Starting search directory for configs.
|
85
|
+
# Defaults to the current working directory.
|
86
|
+
# @return [StandardCLI] a new instance of StandardCLI
|
87
|
+
#
|
88
|
+
# source://toys//lib/toys/standard_cli.rb#115
|
89
|
+
def initialize(custom_paths: T.unsafe(nil), include_builtins: T.unsafe(nil), cur_dir: T.unsafe(nil)); end
|
90
|
+
|
91
|
+
private
|
92
|
+
|
93
|
+
# Add paths for builtin tools
|
94
|
+
#
|
95
|
+
# source://toys//lib/toys/standard_cli.rb#147
|
96
|
+
def add_builtins; end
|
97
|
+
|
98
|
+
# Add paths for the given current directory and its ancestors, plus the
|
99
|
+
# global paths.
|
100
|
+
#
|
101
|
+
# @param cur_dir [String] The starting directory path, or nil to use the
|
102
|
+
# current directory
|
103
|
+
# @return [self]
|
104
|
+
#
|
105
|
+
# source://toys//lib/toys/standard_cli.rb#161
|
106
|
+
def add_current_directory_paths(cur_dir); end
|
107
|
+
|
108
|
+
# Returns the default set of global config directories.
|
109
|
+
#
|
110
|
+
# @return [Array<String>]
|
111
|
+
#
|
112
|
+
# source://toys//lib/toys/standard_cli.rb#194
|
113
|
+
def default_global_dirs; end
|
114
|
+
|
115
|
+
# Returns the middleware for the standard Toys CLI.
|
116
|
+
#
|
117
|
+
# @return [Array]
|
118
|
+
#
|
119
|
+
# source://toys//lib/toys/standard_cli.rb#209
|
120
|
+
def default_middleware_stack; end
|
121
|
+
|
122
|
+
# Returns a ModuleLookup for the default templates.
|
123
|
+
#
|
124
|
+
# @return [Toys::ModuleLookup]
|
125
|
+
#
|
126
|
+
# source://toys//lib/toys/standard_cli.rb#240
|
127
|
+
def default_template_lookup; end
|
128
|
+
|
129
|
+
# Step out of any toys dir.
|
130
|
+
#
|
131
|
+
# @param dir [String] The starting path
|
132
|
+
# @param toys_dir_name [String] The name of the toys directory to look for
|
133
|
+
# @return [String] The final directory path
|
134
|
+
#
|
135
|
+
# source://toys//lib/toys/standard_cli.rb#176
|
136
|
+
def skip_toys_dir(dir, toys_dir_name); end
|
137
|
+
end
|
138
|
+
|
139
|
+
# Standard toys configuration directory name.
|
140
|
+
#
|
141
|
+
# @return [String]
|
142
|
+
#
|
143
|
+
# source://toys//lib/toys/standard_cli.rb#25
|
144
|
+
Toys::StandardCLI::CONFIG_DIR_NAME = T.let(T.unsafe(nil), String)
|
145
|
+
|
146
|
+
# Standard toys configuration file name.
|
147
|
+
#
|
148
|
+
# @return [String]
|
149
|
+
#
|
150
|
+
# source://toys//lib/toys/standard_cli.rb#31
|
151
|
+
Toys::StandardCLI::CONFIG_FILE_NAME = T.let(T.unsafe(nil), String)
|
152
|
+
|
153
|
+
# Standard data directory name in a toys configuration.
|
154
|
+
#
|
155
|
+
# @return [String]
|
156
|
+
#
|
157
|
+
# source://toys//lib/toys/standard_cli.rb#55
|
158
|
+
Toys::StandardCLI::DATA_DIR_NAME = T.let(T.unsafe(nil), String)
|
159
|
+
|
160
|
+
# Short description for the standard root tool.
|
161
|
+
#
|
162
|
+
# @return [String]
|
163
|
+
#
|
164
|
+
# source://toys//lib/toys/standard_cli.rb#79
|
165
|
+
Toys::StandardCLI::DEFAULT_ROOT_DESC = T.let(T.unsafe(nil), String)
|
166
|
+
|
167
|
+
# Help text for the standard root tool.
|
168
|
+
#
|
169
|
+
# @return [String]
|
170
|
+
#
|
171
|
+
# source://toys//lib/toys/standard_cli.rb#85
|
172
|
+
Toys::StandardCLI::DEFAULT_ROOT_LONG_DESC = T.let(T.unsafe(nil), String)
|
173
|
+
|
174
|
+
# Short description for the version flag.
|
175
|
+
#
|
176
|
+
# @return [String]
|
177
|
+
#
|
178
|
+
# source://toys//lib/toys/standard_cli.rb#96
|
179
|
+
Toys::StandardCLI::DEFAULT_VERSION_FLAG_DESC = T.let(T.unsafe(nil), String)
|
180
|
+
|
181
|
+
# Name of the standard toys executable.
|
182
|
+
#
|
183
|
+
# @return [String]
|
184
|
+
#
|
185
|
+
# source://toys//lib/toys/standard_cli.rb#67
|
186
|
+
Toys::StandardCLI::EXECUTABLE_NAME = T.let(T.unsafe(nil), String)
|
187
|
+
|
188
|
+
# Delimiter characters recognized.
|
189
|
+
#
|
190
|
+
# @return [String]
|
191
|
+
#
|
192
|
+
# source://toys//lib/toys/standard_cli.rb#73
|
193
|
+
Toys::StandardCLI::EXTRA_DELIMITERS = T.let(T.unsafe(nil), String)
|
194
|
+
|
195
|
+
# Standard index file name in a toys configuration.
|
196
|
+
#
|
197
|
+
# @return [String]
|
198
|
+
#
|
199
|
+
# source://toys//lib/toys/standard_cli.rb#37
|
200
|
+
Toys::StandardCLI::INDEX_FILE_NAME = T.let(T.unsafe(nil), String)
|
201
|
+
|
202
|
+
# Standard lib directory name in a toys configuration.
|
203
|
+
#
|
204
|
+
# @return [String]
|
205
|
+
#
|
206
|
+
# source://toys//lib/toys/standard_cli.rb#61
|
207
|
+
Toys::StandardCLI::LIB_DIR_NAME = T.let(T.unsafe(nil), String)
|
208
|
+
|
209
|
+
# Standard preload directory name in a toys configuration.
|
210
|
+
#
|
211
|
+
# @return [String]
|
212
|
+
#
|
213
|
+
# source://toys//lib/toys/standard_cli.rb#43
|
214
|
+
Toys::StandardCLI::PRELOAD_DIR_NAME = T.let(T.unsafe(nil), String)
|
215
|
+
|
216
|
+
# Standard preload file name in a toys configuration.
|
217
|
+
#
|
218
|
+
# @return [String]
|
219
|
+
#
|
220
|
+
# source://toys//lib/toys/standard_cli.rb#49
|
221
|
+
Toys::StandardCLI::PRELOAD_FILE_NAME = T.let(T.unsafe(nil), String)
|
222
|
+
|
223
|
+
# Name of the toys path environment variable.
|
224
|
+
#
|
225
|
+
# @return [String]
|
226
|
+
#
|
227
|
+
# source://toys//lib/toys/standard_cli.rb#102
|
228
|
+
Toys::StandardCLI::TOYS_PATH_ENV = T.let(T.unsafe(nil), String)
|
229
|
+
|
230
|
+
# Namespace for standard template classes.
|
231
|
+
#
|
232
|
+
# These templates are provided by Toys and can be expanded by name by passing
|
233
|
+
# a symbol to {Toys::DSL::Tool#expand}.
|
234
|
+
#
|
235
|
+
# source://toys//lib/toys.rb#72
|
236
|
+
module Toys::Templates; end
|
237
|
+
|
238
|
+
# Current version of the Toys command line executable.
|
239
|
+
#
|
240
|
+
# @return [String]
|
241
|
+
#
|
242
|
+
# source://toys//lib/toys/version.rb#8
|
243
|
+
Toys::VERSION = T.let(T.unsafe(nil), String)
|