lunchmoney 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +7 -0
  3. data/.github/FUNDING.yml +1 -0
  4. data/.github/workflows/check_pipeline.yml +2 -2
  5. data/.github/workflows/ci.yml +10 -2
  6. data/.github/workflows/release_pipeline.yml +1 -1
  7. data/.mdlrc +5 -0
  8. data/.rubocop.yml +1 -0
  9. data/.simplecov +30 -0
  10. data/.toys/.toys.rb +1 -0
  11. data/.toys/coverage.rb +5 -0
  12. data/.toys/mdl.rb +5 -0
  13. data/Gemfile +3 -0
  14. data/Gemfile.lock +64 -37
  15. data/LICENSE +1 -1
  16. data/README.md +7 -3
  17. data/lib/lunchmoney/objects/crypto.rb +6 -1
  18. data/lib/lunchmoney/objects/object.rb +3 -1
  19. data/lib/lunchmoney/version.rb +1 -1
  20. data/sorbet/rbi/annotations/activesupport.rbi +11 -0
  21. data/sorbet/rbi/gems/{activesupport@7.1.3.rbi → activesupport@7.1.3.2.rbi} +23 -23
  22. data/sorbet/rbi/gems/chef-utils@18.4.2.rbi +8 -0
  23. data/sorbet/rbi/gems/docile@1.4.0.rbi +376 -0
  24. data/sorbet/rbi/gems/dotenv@3.1.0.rbi +300 -0
  25. data/sorbet/rbi/gems/{i18n@1.14.1.rbi → i18n@1.14.4.rbi} +48 -43
  26. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +127 -0
  27. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +3271 -0
  28. data/sorbet/rbi/gems/mdl@0.13.0.rbi +444 -0
  29. data/sorbet/rbi/gems/{minitest@5.22.2.rbi → minitest@5.22.3.rbi} +19 -18
  30. data/sorbet/rbi/gems/mixlib-cli@2.1.8.rbi +313 -0
  31. data/sorbet/rbi/gems/mixlib-config@3.0.27.rbi +580 -0
  32. data/sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi +628 -0
  33. data/sorbet/rbi/gems/{prism@0.19.0.rbi → prism@0.24.0.rbi} +8266 -7109
  34. data/sorbet/rbi/gems/{rack@3.0.8.rbi → rack@3.0.10.rbi} +83 -83
  35. data/sorbet/rbi/gems/{rbi@0.1.6.rbi → rbi@0.1.9.rbi} +114 -13
  36. data/sorbet/rbi/gems/{rubocop-ast@1.30.0.rbi → rubocop-ast@1.31.2.rbi} +61 -50
  37. data/sorbet/rbi/gems/{rubocop-minitest@0.34.5.rbi → rubocop-minitest@0.35.0.rbi} +34 -0
  38. data/sorbet/rbi/gems/{rubocop-rails@2.23.1.rbi → rubocop-rails@2.24.1.rbi} +159 -147
  39. data/sorbet/rbi/gems/{rubocop-sorbet@0.7.7.rbi → rubocop-sorbet@0.8.0.rbi} +24 -42
  40. data/sorbet/rbi/gems/{rubocop@1.60.2.rbi → rubocop@1.62.1.rbi} +807 -646
  41. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +216 -0
  42. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2148 -0
  43. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +238 -0
  44. data/sorbet/rbi/gems/{tapioca@0.12.0.rbi → tapioca@0.13.1.rbi} +83 -62
  45. data/sorbet/rbi/gems/{thor@1.3.0.rbi → thor@1.3.1.rbi} +89 -50
  46. data/sorbet/rbi/gems/tomlrb@2.0.3.rbi +8 -0
  47. data/sorbet/rbi/gems/{webmock@3.20.0.rbi → webmock@3.23.0.rbi} +25 -25
  48. data/sorbet/rbi/gems/{yard@0.9.34.rbi → yard@0.9.36.rbi} +194 -58
  49. data/sorbet/tapioca/require.rb +1 -0
  50. metadata +39 -23
  51. data/.DS_Store +0 -0
  52. data/.github/workflows/publish_gem.yml +0 -29
  53. data/sorbet/rbi/gems/dotenv@2.8.1.rbi +0 -234
  54. /data/sorbet/rbi/gems/{bigdecimal@3.1.6.rbi → bigdecimal@3.1.7.rbi} +0 -0
  55. /data/sorbet/rbi/gems/{drb@2.2.0.rbi → drb@2.2.1.rbi} +0 -0
  56. /data/sorbet/rbi/gems/{rubocop-shopify@2.14.0.rbi → rubocop-shopify@2.15.1.rbi} +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lunchmoney
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - "@mmenanno"
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-14 00:00:00.000000000 Z
11
+ date: 2024-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -58,19 +58,23 @@ executables: []
58
58
  extensions: []
59
59
  extra_rdoc_files: []
60
60
  files:
61
- - ".DS_Store"
61
+ - ".codeclimate.yml"
62
+ - ".github/FUNDING.yml"
62
63
  - ".github/dependabot.yml"
63
64
  - ".github/workflows/build_and_publish_yard_docs.yml"
64
65
  - ".github/workflows/check_pipeline.yml"
65
66
  - ".github/workflows/ci.yml"
66
67
  - ".github/workflows/dependabot-rbi-updater.yml"
67
- - ".github/workflows/publish_gem.yml"
68
68
  - ".github/workflows/release_pipeline.yml"
69
69
  - ".gitignore"
70
+ - ".mdlrc"
70
71
  - ".rubocop.yml"
71
72
  - ".ruby-version"
73
+ - ".simplecov"
72
74
  - ".toys/.toys.rb"
73
75
  - ".toys/ci.rb"
76
+ - ".toys/coverage.rb"
77
+ - ".toys/mdl.rb"
74
78
  - ".toys/rbi.rb"
75
79
  - ".toys/rubocop.rb"
76
80
  - ".toys/spoom.rb"
@@ -139,27 +143,35 @@ files:
139
143
  - sorbet/rbi/dsl/.gitattributes
140
144
  - sorbet/rbi/dsl/active_support/callbacks.rbi
141
145
  - sorbet/rbi/gems/.gitattributes
142
- - sorbet/rbi/gems/activesupport@7.1.3.rbi
146
+ - sorbet/rbi/gems/activesupport@7.1.3.2.rbi
143
147
  - sorbet/rbi/gems/addressable@2.8.6.rbi
144
148
  - sorbet/rbi/gems/appraisal@2.5.0.rbi
145
149
  - sorbet/rbi/gems/ast@2.4.2.rbi
146
150
  - sorbet/rbi/gems/base64@0.2.0.rbi
147
- - sorbet/rbi/gems/bigdecimal@3.1.6.rbi
151
+ - sorbet/rbi/gems/bigdecimal@3.1.7.rbi
152
+ - sorbet/rbi/gems/chef-utils@18.4.2.rbi
148
153
  - sorbet/rbi/gems/coderay@1.1.3.rbi
149
154
  - sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi
150
155
  - sorbet/rbi/gems/connection_pool@2.4.1.rbi
151
156
  - sorbet/rbi/gems/crack@1.0.0.rbi
152
- - sorbet/rbi/gems/dotenv@2.8.1.rbi
153
- - sorbet/rbi/gems/drb@2.2.0.rbi
157
+ - sorbet/rbi/gems/docile@1.4.0.rbi
158
+ - sorbet/rbi/gems/dotenv@3.1.0.rbi
159
+ - sorbet/rbi/gems/drb@2.2.1.rbi
154
160
  - sorbet/rbi/gems/erubi@1.12.0.rbi
155
161
  - sorbet/rbi/gems/faraday-net_http@3.1.0.rbi
156
162
  - sorbet/rbi/gems/faraday@2.9.0.rbi
157
163
  - sorbet/rbi/gems/hashdiff@1.1.0.rbi
158
- - sorbet/rbi/gems/i18n@1.14.1.rbi
164
+ - sorbet/rbi/gems/i18n@1.14.4.rbi
159
165
  - sorbet/rbi/gems/json@2.7.1.rbi
166
+ - sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi
167
+ - sorbet/rbi/gems/kramdown@2.4.0.rbi
160
168
  - sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
169
+ - sorbet/rbi/gems/mdl@0.13.0.rbi
161
170
  - sorbet/rbi/gems/method_source@1.0.0.rbi
162
- - sorbet/rbi/gems/minitest@5.22.2.rbi
171
+ - sorbet/rbi/gems/minitest@5.22.3.rbi
172
+ - sorbet/rbi/gems/mixlib-cli@2.1.8.rbi
173
+ - sorbet/rbi/gems/mixlib-config@3.0.27.rbi
174
+ - sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi
163
175
  - sorbet/rbi/gems/mocha@2.1.0.rbi
164
176
  - sorbet/rbi/gems/mutex_m@0.2.0.rbi
165
177
  - sorbet/rbi/gems/net-http@0.4.1.rbi
@@ -167,38 +179,42 @@ files:
167
179
  - sorbet/rbi/gems/parallel@1.24.0.rbi
168
180
  - sorbet/rbi/gems/parser@3.3.0.5.rbi
169
181
  - sorbet/rbi/gems/prettier_print@1.2.1.rbi
170
- - sorbet/rbi/gems/prism@0.19.0.rbi
182
+ - sorbet/rbi/gems/prism@0.24.0.rbi
171
183
  - sorbet/rbi/gems/pry-sorbet@0.2.1.rbi
172
184
  - sorbet/rbi/gems/pry@0.14.2.rbi
173
185
  - sorbet/rbi/gems/public_suffix@5.0.4.rbi
174
186
  - sorbet/rbi/gems/racc@1.7.3.rbi
175
- - sorbet/rbi/gems/rack@3.0.8.rbi
187
+ - sorbet/rbi/gems/rack@3.0.10.rbi
176
188
  - sorbet/rbi/gems/rainbow@3.1.1.rbi
177
189
  - sorbet/rbi/gems/rake@13.1.0.rbi
178
- - sorbet/rbi/gems/rbi@0.1.6.rbi
190
+ - sorbet/rbi/gems/rbi@0.1.9.rbi
179
191
  - sorbet/rbi/gems/regexp_parser@2.9.0.rbi
180
192
  - sorbet/rbi/gems/rexml@3.2.6.rbi
181
- - sorbet/rbi/gems/rubocop-ast@1.30.0.rbi
182
- - sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi
183
- - sorbet/rbi/gems/rubocop-rails@2.23.1.rbi
184
- - sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi
185
- - sorbet/rbi/gems/rubocop-sorbet@0.7.7.rbi
186
- - sorbet/rbi/gems/rubocop@1.60.2.rbi
193
+ - sorbet/rbi/gems/rubocop-ast@1.31.2.rbi
194
+ - sorbet/rbi/gems/rubocop-minitest@0.35.0.rbi
195
+ - sorbet/rbi/gems/rubocop-rails@2.24.1.rbi
196
+ - sorbet/rbi/gems/rubocop-shopify@2.15.1.rbi
197
+ - sorbet/rbi/gems/rubocop-sorbet@0.8.0.rbi
198
+ - sorbet/rbi/gems/rubocop@1.62.1.rbi
187
199
  - sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi
188
200
  - sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi
201
+ - sorbet/rbi/gems/simplecov-html@0.12.3.rbi
202
+ - sorbet/rbi/gems/simplecov@0.22.0.rbi
203
+ - sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi
189
204
  - sorbet/rbi/gems/spoom@1.2.4.rbi
190
205
  - sorbet/rbi/gems/syntax_tree@6.2.0.rbi
191
- - sorbet/rbi/gems/tapioca@0.12.0.rbi
192
- - sorbet/rbi/gems/thor@1.3.0.rbi
206
+ - sorbet/rbi/gems/tapioca@0.13.1.rbi
207
+ - sorbet/rbi/gems/thor@1.3.1.rbi
208
+ - sorbet/rbi/gems/tomlrb@2.0.3.rbi
193
209
  - sorbet/rbi/gems/toys-core@0.15.5.rbi
194
210
  - sorbet/rbi/gems/toys@0.15.5.rbi
195
211
  - sorbet/rbi/gems/tzinfo@2.0.6.rbi
196
212
  - sorbet/rbi/gems/unicode-display_width@2.5.0.rbi
197
213
  - sorbet/rbi/gems/uri@0.13.0.rbi
198
214
  - sorbet/rbi/gems/vcr@6.2.0.rbi
199
- - sorbet/rbi/gems/webmock@3.20.0.rbi
215
+ - sorbet/rbi/gems/webmock@3.23.0.rbi
200
216
  - sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
201
- - sorbet/rbi/gems/yard@0.9.34.rbi
217
+ - sorbet/rbi/gems/yard@0.9.36.rbi
202
218
  - sorbet/shims/module.rbi
203
219
  - sorbet/tapioca/require.rb
204
220
  homepage: https://github.com/mmenanno/lunchmoney
data/.DS_Store DELETED
Binary file
@@ -1,29 +0,0 @@
1
- name: Publish Gem
2
-
3
- on:
4
- workflow_call:
5
- workflow_dispatch:
6
-
7
- jobs:
8
- build:
9
- name: Build & Release Gem
10
- runs-on: ubuntu-latest
11
- environment: rubygems
12
-
13
- permissions:
14
- contents: write
15
- id-token: write
16
-
17
- steps:
18
- # Set up
19
- - uses: actions/checkout@v4
20
- - name: Set up Ruby
21
- uses: ruby/setup-ruby@v1
22
- with:
23
- bundler-cache: true
24
- ruby-version: ruby
25
-
26
- # Release
27
- - name: Publish to RubyGems
28
- uses: rubygems/release-gem@v1
29
-
@@ -1,234 +0,0 @@
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
File without changes