lunchmoney 1.4.0 → 1.5.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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +7 -0
  3. data/.github/workflows/build_and_publish_yard_docs.yml +4 -4
  4. data/.github/workflows/ci.yml +9 -10
  5. data/.github/workflows/rbi-updater.yml +1 -1
  6. data/.github/workflows/release_pipeline.yml +1 -1
  7. data/.rubocop.yml +1 -1
  8. data/.ruby-version +1 -1
  9. data/.simplecov +1 -0
  10. data/.toys/.toys.rb +8 -0
  11. data/Gemfile +3 -3
  12. data/Gemfile.lock +102 -78
  13. data/README.md +0 -2
  14. data/SECURITY.md +151 -0
  15. data/bin/check_vcr_version +94 -0
  16. data/lib/lunchmoney/api.rb +26 -38
  17. data/lib/lunchmoney/calls/assets.rb +10 -13
  18. data/lib/lunchmoney/calls/base.rb +59 -7
  19. data/lib/lunchmoney/calls/budgets.rb +22 -25
  20. data/lib/lunchmoney/calls/categories.rb +28 -38
  21. data/lib/lunchmoney/calls/crypto.rb +7 -9
  22. data/lib/lunchmoney/calls/plaid_accounts.rb +7 -9
  23. data/lib/lunchmoney/calls/recurring_expenses.rb +4 -5
  24. data/lib/lunchmoney/calls/tags.rb +3 -4
  25. data/lib/lunchmoney/calls/transactions.rb +28 -37
  26. data/lib/lunchmoney/calls/users.rb +3 -4
  27. data/lib/lunchmoney/configuration.rb +20 -0
  28. data/lib/lunchmoney/deprecate.rb +35 -0
  29. data/lib/lunchmoney/objects/asset.rb +6 -1
  30. data/lib/lunchmoney/objects/object.rb +4 -9
  31. data/lib/lunchmoney/objects/plaid_account.rb +6 -1
  32. data/lib/lunchmoney/validators.rb +8 -6
  33. data/lib/lunchmoney/version.rb +1 -1
  34. data/lib/lunchmoney.rb +3 -3
  35. data/lunchmoney.gemspec +1 -1
  36. data/sorbet/rbi/annotations/activesupport.rbi +40 -0
  37. data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -2
  38. data/sorbet/rbi/gems/{activesupport@7.2.1.rbi → activesupport@8.0.2.1.rbi} +1431 -1028
  39. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +4 -3
  40. data/sorbet/rbi/gems/{base64@0.2.0.rbi → base64@0.3.0.rbi} +76 -39
  41. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  42. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +275 -0
  43. data/sorbet/rbi/gems/{concurrent-ruby@1.3.4.rbi → concurrent-ruby@1.3.5.rbi} +44 -32
  44. data/sorbet/rbi/gems/{connection_pool@2.4.1.rbi → connection_pool@2.5.3.rbi} +1 -0
  45. data/sorbet/rbi/gems/{dotenv@3.1.2.rbi → dotenv@3.1.8.rbi} +21 -29
  46. data/sorbet/rbi/gems/{drb@2.2.1.rbi → drb@2.2.3.rbi} +503 -188
  47. data/sorbet/rbi/gems/{erubi@1.13.0.rbi → erubi@1.13.1.rbi} +14 -9
  48. data/sorbet/rbi/gems/{faraday-net_http@3.1.1.rbi → faraday-net_http@3.4.1.rbi} +34 -34
  49. data/sorbet/rbi/gems/{faraday@2.10.1.rbi → faraday@2.13.4.rbi} +507 -171
  50. data/sorbet/rbi/gems/{hashdiff@1.1.1.rbi → hashdiff@1.2.0.rbi} +5 -3
  51. data/sorbet/rbi/gems/{i18n@1.14.5.rbi → i18n@1.14.7.rbi} +80 -80
  52. data/sorbet/rbi/gems/{json@2.7.2.rbi → json@2.13.2.rbi} +988 -226
  53. data/sorbet/rbi/gems/{kramdown@2.4.0.rbi → kramdown@2.5.1.rbi} +316 -234
  54. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  55. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  56. data/sorbet/rbi/gems/{logger@1.6.0.rbi → logger@1.7.0.rbi} +136 -76
  57. data/sorbet/rbi/gems/{minitest@5.25.1.rbi → minitest@5.25.5.rbi} +227 -220
  58. data/sorbet/rbi/gems/{mocha@2.4.5.rbi → mocha@2.7.1.rbi} +154 -118
  59. data/sorbet/rbi/gems/{net-http@0.4.1.rbi → net-http@0.6.0.rbi} +360 -181
  60. data/sorbet/rbi/gems/{parser@3.3.4.2.rbi → parser@3.3.9.0.rbi} +326 -308
  61. data/sorbet/rbi/gems/{prism@0.30.0.rbi → prism@1.4.0.rbi} +12440 -9920
  62. data/sorbet/rbi/gems/{rack@3.1.7.rbi → rack@3.2.1.rbi} +752 -579
  63. data/sorbet/rbi/gems/{rake@13.2.1.rbi → rake@13.3.0.rbi} +238 -227
  64. data/sorbet/rbi/gems/rbi@0.3.6.rbi +5162 -0
  65. data/sorbet/rbi/gems/rbs@4.0.0.dev.4.rbi +7895 -0
  66. data/sorbet/rbi/gems/{regexp_parser@2.9.2.rbi → regexp_parser@2.11.2.rbi} +1124 -1013
  67. data/sorbet/rbi/gems/require-hooks@0.2.2.rbi +110 -0
  68. data/sorbet/rbi/gems/{rexml@3.3.6.rbi → rexml@3.4.2.rbi} +755 -318
  69. data/sorbet/rbi/gems/{rubocop-ast@1.32.1.rbi → rubocop-ast@1.46.0.rbi} +1287 -899
  70. data/sorbet/rbi/gems/{rubocop-minitest@0.35.1.rbi → rubocop-minitest@0.38.2.rbi} +133 -97
  71. data/sorbet/rbi/gems/{rubocop-rails@2.26.0.rbi → rubocop-rails@2.33.3.rbi} +9874 -6597
  72. data/sorbet/rbi/gems/{rubocop-shopify@2.15.1.rbi → rubocop-shopify@2.17.1.rbi} +1 -0
  73. data/sorbet/rbi/gems/{rubocop-sorbet@0.8.5.rbi → rubocop-sorbet@0.10.5.rbi} +804 -83
  74. data/sorbet/rbi/gems/{rubocop@1.65.1.rbi → rubocop@1.80.1.rbi} +10688 -5103
  75. data/sorbet/rbi/gems/{securerandom@0.3.1.rbi → securerandom@0.4.1.rbi} +7 -5
  76. data/sorbet/rbi/gems/{spoom@1.4.2.rbi → spoom@1.7.6.rbi} +1939 -1039
  77. data/sorbet/rbi/gems/{tapioca@0.16.1.rbi → tapioca@0.17.7.rbi} +765 -821
  78. data/sorbet/rbi/gems/{thor@1.3.1.rbi → thor@1.4.0.rbi} +139 -91
  79. data/sorbet/rbi/gems/unicode-display_width@3.1.5.rbi +132 -0
  80. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +251 -0
  81. data/sorbet/rbi/gems/{uri@0.13.0.rbi → uri@1.0.3.rbi} +278 -256
  82. data/sorbet/rbi/gems/{vcr@6.3.1.rbi → vcr@6.3.1-ce35c236fe48899f02ddf780973b44cdb756c0ee.rbi} +140 -123
  83. data/sorbet/rbi/gems/{webmock@3.23.1.rbi → webmock@3.25.1.rbi} +101 -78
  84. data/sorbet/rbi/gems/{yard@0.9.36.rbi → yard@0.9.37.rbi} +394 -235
  85. metadata +55 -53
  86. data/sorbet/rbi/gems/bigdecimal@3.1.8.rbi +0 -78
  87. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14237
  88. data/sorbet/rbi/gems/rbi@0.1.14.rbi +0 -3305
  89. data/sorbet/rbi/gems/strscan@3.1.0.rbi +0 -9
  90. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -65
  91. /data/sorbet/rbi/gems/{parallel@1.26.3.rbi → parallel@1.27.0.rbi} +0 -0
@@ -67,44 +67,49 @@ class Erubi::Engine
67
67
 
68
68
  private
69
69
 
70
+ # :nocov:
71
+ #
72
+ # source://erubi//lib/erubi.rb#209
73
+ def _dup_string_if_frozen(string); end
74
+
70
75
  # Add ruby code to the template
71
76
  #
72
- # source://erubi//lib/erubi.rb#223
77
+ # source://erubi//lib/erubi.rb#232
73
78
  def add_code(code); end
74
79
 
75
80
  # Add the given ruby expression result to the template,
76
81
  # escaping it based on the indicator given and escape flag.
77
82
  #
78
- # source://erubi//lib/erubi.rb#232
83
+ # source://erubi//lib/erubi.rb#241
79
84
  def add_expression(indicator, code); end
80
85
 
81
86
  # Add the result of Ruby expression to the template
82
87
  #
83
- # source://erubi//lib/erubi.rb#241
88
+ # source://erubi//lib/erubi.rb#250
84
89
  def add_expression_result(code); end
85
90
 
86
91
  # Add the escaped result of Ruby expression to the template
87
92
  #
88
- # source://erubi//lib/erubi.rb#246
93
+ # source://erubi//lib/erubi.rb#255
89
94
  def add_expression_result_escaped(code); end
90
95
 
91
96
  # Add the given postamble to the src. Can be overridden in subclasses
92
97
  # to make additional changes to src that depend on the current state.
93
98
  #
94
- # source://erubi//lib/erubi.rb#252
99
+ # source://erubi//lib/erubi.rb#261
95
100
  def add_postamble(postamble); end
96
101
 
97
102
  # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
98
103
  # Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
99
104
  #
100
- # source://erubi//lib/erubi.rb#210
105
+ # source://erubi//lib/erubi.rb#222
101
106
  def add_text(text); end
102
107
 
103
108
  # Raise an exception, as the base engine class does not support handling other indicators.
104
109
  #
105
110
  # @raise [ArgumentError]
106
111
  #
107
- # source://erubi//lib/erubi.rb#258
112
+ # source://erubi//lib/erubi.rb#267
108
113
  def handle(indicator, code, tailch, rspace, lspace); end
109
114
 
110
115
  # Make sure that any current expression has been terminated.
@@ -112,7 +117,7 @@ class Erubi::Engine
112
117
  # the chain_appends option is used, expressions may not be
113
118
  # terminated.
114
119
  #
115
- # source://erubi//lib/erubi.rb#286
120
+ # source://erubi//lib/erubi.rb#295
116
121
  def terminate_expression; end
117
122
 
118
123
  # Make sure the buffer variable is the target of the next append
@@ -122,7 +127,7 @@ class Erubi::Engine
122
127
  # This method should only be called if the block will result in
123
128
  # code where << will append to the bufvar.
124
129
  #
125
- # source://erubi//lib/erubi.rb#268
130
+ # source://erubi//lib/erubi.rb#277
126
131
  def with_buffer; end
127
132
  end
128
133
 
@@ -8,81 +8,81 @@
8
8
  # source://faraday-net_http//lib/faraday/adapter/net_http.rb#12
9
9
  module Faraday
10
10
  class << self
11
- # source://faraday/2.10.1/lib/faraday.rb#55
11
+ # source://faraday/2.13.2/lib/faraday.rb#56
12
12
  def default_adapter; end
13
13
 
14
- # source://faraday/2.10.1/lib/faraday.rb#102
14
+ # source://faraday/2.13.2/lib/faraday.rb#103
15
15
  def default_adapter=(adapter); end
16
16
 
17
- # source://faraday/2.10.1/lib/faraday.rb#59
17
+ # source://faraday/2.13.2/lib/faraday.rb#60
18
18
  def default_adapter_options; end
19
19
 
20
- # source://faraday/2.10.1/lib/faraday.rb#59
20
+ # source://faraday/2.13.2/lib/faraday.rb#60
21
21
  def default_adapter_options=(_arg0); end
22
22
 
23
- # source://faraday/2.10.1/lib/faraday.rb#120
23
+ # source://faraday/2.13.2/lib/faraday.rb#121
24
24
  def default_connection; end
25
25
 
26
- # source://faraday/2.10.1/lib/faraday.rb#62
26
+ # source://faraday/2.13.2/lib/faraday.rb#63
27
27
  def default_connection=(_arg0); end
28
28
 
29
- # source://faraday/2.10.1/lib/faraday.rb#127
29
+ # source://faraday/2.13.2/lib/faraday.rb#128
30
30
  def default_connection_options; end
31
31
 
32
- # source://faraday/2.10.1/lib/faraday.rb#134
32
+ # source://faraday/2.13.2/lib/faraday.rb#135
33
33
  def default_connection_options=(options); end
34
34
 
35
- # source://faraday/2.10.1/lib/faraday.rb#67
35
+ # source://faraday/2.13.2/lib/faraday.rb#68
36
36
  def ignore_env_proxy; end
37
37
 
38
- # source://faraday/2.10.1/lib/faraday.rb#67
38
+ # source://faraday/2.13.2/lib/faraday.rb#68
39
39
  def ignore_env_proxy=(_arg0); end
40
40
 
41
- # source://faraday/2.10.1/lib/faraday.rb#46
41
+ # source://faraday/2.13.2/lib/faraday.rb#47
42
42
  def lib_path; end
43
43
 
44
- # source://faraday/2.10.1/lib/faraday.rb#46
44
+ # source://faraday/2.13.2/lib/faraday.rb#47
45
45
  def lib_path=(_arg0); end
46
46
 
47
- # source://faraday/2.10.1/lib/faraday.rb#96
47
+ # source://faraday/2.13.2/lib/faraday.rb#97
48
48
  def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end
49
49
 
50
- # source://faraday/2.10.1/lib/faraday.rb#107
50
+ # source://faraday/2.13.2/lib/faraday.rb#108
51
51
  def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end
52
52
 
53
- # source://faraday/2.10.1/lib/faraday.rb#42
53
+ # source://faraday/2.13.2/lib/faraday.rb#43
54
54
  def root_path; end
55
55
 
56
- # source://faraday/2.10.1/lib/faraday.rb#42
56
+ # source://faraday/2.13.2/lib/faraday.rb#43
57
57
  def root_path=(_arg0); end
58
58
 
59
59
  private
60
60
 
61
- # source://faraday/2.10.1/lib/faraday.rb#143
61
+ # source://faraday/2.13.2/lib/faraday.rb#144
62
62
  def method_missing(name, *args, &block); end
63
63
  end
64
64
  end
65
65
 
66
66
  # source://faraday-net_http//lib/faraday/adapter/net_http.rb#13
67
67
  class Faraday::Adapter
68
- # source://faraday/2.10.1/lib/faraday/adapter.rb#28
68
+ # source://faraday/2.13.2/lib/faraday/adapter.rb#28
69
69
  def initialize(_app = T.unsafe(nil), opts = T.unsafe(nil), &block); end
70
70
 
71
- # source://faraday/2.10.1/lib/faraday/adapter.rb#55
71
+ # source://faraday/2.13.2/lib/faraday/adapter.rb#55
72
72
  def call(env); end
73
73
 
74
- # source://faraday/2.10.1/lib/faraday/adapter.rb#50
74
+ # source://faraday/2.13.2/lib/faraday/adapter.rb#50
75
75
  def close; end
76
76
 
77
- # source://faraday/2.10.1/lib/faraday/adapter.rb#41
77
+ # source://faraday/2.13.2/lib/faraday/adapter.rb#41
78
78
  def connection(env); end
79
79
 
80
80
  private
81
81
 
82
- # source://faraday/2.10.1/lib/faraday/adapter.rb#85
82
+ # source://faraday/2.13.2/lib/faraday/adapter.rb#85
83
83
  def request_timeout(type, options); end
84
84
 
85
- # source://faraday/2.10.1/lib/faraday/adapter.rb#62
85
+ # source://faraday/2.13.2/lib/faraday/adapter.rb#62
86
86
  def save_response(env, status, body, headers = T.unsafe(nil), reason_phrase = T.unsafe(nil), finished: T.unsafe(nil)); end
87
87
  end
88
88
 
@@ -96,7 +96,7 @@ class Faraday::Adapter::NetHttp < ::Faraday::Adapter
96
96
  # source://faraday-net_http//lib/faraday/adapter/net_http.rb#43
97
97
  def build_connection(env); end
98
98
 
99
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#62
99
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#63
100
100
  def call(env); end
101
101
 
102
102
  # source://faraday-net_http//lib/faraday/adapter/net_http.rb#50
@@ -104,36 +104,36 @@ class Faraday::Adapter::NetHttp < ::Faraday::Adapter
104
104
 
105
105
  private
106
106
 
107
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#147
107
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#152
108
108
  def configure_request(http, req); end
109
109
 
110
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#130
110
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#131
111
111
  def configure_ssl(http, ssl); end
112
112
 
113
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#78
113
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#79
114
114
  def create_request(env); end
115
115
 
116
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#184
116
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#189
117
117
  def encoded_body(http_response); end
118
118
 
119
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#94
119
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#95
120
120
  def perform_request(http, env); end
121
121
 
122
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#108
122
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#109
123
123
  def request_with_wrapped_block(http, env, &block); end
124
124
 
125
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#120
125
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#121
126
126
  def save_http_response(env, http_response); end
127
127
 
128
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#167
128
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#172
129
129
  def ssl_cert_store(ssl); end
130
130
 
131
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#174
131
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#179
132
132
  def ssl_verify_mode(ssl); end
133
133
 
134
134
  # @return [Boolean]
135
135
  #
136
- # source://faraday-net_http//lib/faraday/adapter/net_http.rb#196
136
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#201
137
137
  def verify_hostname_enabled?(http, ssl); end
138
138
  end
139
139