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
@@ -0,0 +1,110 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `require-hooks` gem.
5
+ # Please instead update this file by running `bin/tapioca gem require-hooks`.
6
+
7
+
8
+ # source://require-hooks//lib/require-hooks/api.rb#3
9
+ module RequireHooks
10
+ class << self
11
+ # Define a block to wrap the code loading.
12
+ # The return value MUST be a result of calling the passed block.
13
+ # For example, you can use such hooks for instrumentation, debugging purposes.
14
+ #
15
+ # RequireHooks.around_load do |path, &block|
16
+ # puts "Loading #{path}"
17
+ # block.call.tap { puts "Loaded #{path}" }
18
+ # end
19
+ #
20
+ # source://require-hooks//lib/require-hooks/api.rb#71
21
+ def around_load(patterns: T.unsafe(nil), exclude_patterns: T.unsafe(nil), &block); end
22
+
23
+ # source://require-hooks//lib/require-hooks/api.rb#107
24
+ def context_for(path); end
25
+
26
+ # This hook should be used to manually compile byte code to be loaded by the VM.
27
+ # The arguments are (path, source = nil), where source is only defined if transformations took place.
28
+ # Otherwise, you MUST read the source code from the file yourself.
29
+ #
30
+ # The return value MUST be either nil (continue to the next hook or default behavior) or a platform-specific bytecode object (e.g., RubyVM::InstructionSequence).
31
+ #
32
+ # RequireHooks.hijack_load do |path, source|
33
+ # source ||= File.read(path)
34
+ # if defined?(RubyVM::InstructionSequence)
35
+ # RubyVM::InstructionSequence.compile(source)
36
+ # elsif defined?(JRUBY_VERSION)
37
+ # JRuby.compile(source)
38
+ # end
39
+ # end
40
+ #
41
+ # source://require-hooks//lib/require-hooks/api.rb#103
42
+ def hijack_load(patterns: T.unsafe(nil), exclude_patterns: T.unsafe(nil), &block); end
43
+
44
+ # Returns the value of attribute print_warnings.
45
+ #
46
+ # source://require-hooks//lib/require-hooks/api.rb#61
47
+ def print_warnings; end
48
+
49
+ # Sets the attribute print_warnings
50
+ #
51
+ # @param value the value to set the attribute print_warnings to.
52
+ #
53
+ # source://require-hooks//lib/require-hooks/api.rb#61
54
+ def print_warnings=(_arg0); end
55
+
56
+ # Define hooks to perform source-to-source transformations.
57
+ # The return value MUST be either String (new source code) or nil (indicating that no transformations were performed).
58
+ #
59
+ # NOTE: The second argument (`source`) MAY be nil, indicating that no transformer tried to transform the source code.
60
+ #
61
+ #
62
+ # RequireHooks.source_transform do |path, source|
63
+ # end
64
+ #
65
+ # source://require-hooks//lib/require-hooks/api.rb#85
66
+ def source_transform(patterns: T.unsafe(nil), exclude_patterns: T.unsafe(nil), &block); end
67
+ end
68
+ end
69
+
70
+ # source://require-hooks//lib/require-hooks/api.rb#8
71
+ class RequireHooks::Context
72
+ # @return [Context] a new instance of Context
73
+ #
74
+ # source://require-hooks//lib/require-hooks/api.rb#9
75
+ def initialize(around_load, source_transform, hijack_load); end
76
+
77
+ # @return [Boolean]
78
+ #
79
+ # source://require-hooks//lib/require-hooks/api.rb#15
80
+ def empty?; end
81
+
82
+ # @return [Boolean]
83
+ #
84
+ # source://require-hooks//lib/require-hooks/api.rb#23
85
+ def hijack?; end
86
+
87
+ # source://require-hooks//lib/require-hooks/api.rb#37
88
+ def perform_source_transform(path); end
89
+
90
+ # source://require-hooks//lib/require-hooks/api.rb#27
91
+ def run_around_load_callbacks(path); end
92
+
93
+ # @return [Boolean]
94
+ #
95
+ # source://require-hooks//lib/require-hooks/api.rb#19
96
+ def source_transform?; end
97
+
98
+ # source://require-hooks//lib/require-hooks/api.rb#49
99
+ def try_hijack_load(path, source); end
100
+ end
101
+
102
+ # source://require-hooks//lib/require-hooks/mode/load_iseq.rb#4
103
+ module RequireHooks::LoadIseq
104
+ # source://require-hooks//lib/require-hooks/mode/load_iseq.rb#5
105
+ def load_iseq(path); end
106
+ end
107
+
108
+ class RubyVM::InstructionSequence
109
+ extend ::RequireHooks::LoadIseq
110
+ end