lunchmoney 1.0.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/check_pipeline.yml +24 -0
  3. data/.github/workflows/ci.yml +1 -4
  4. data/.github/workflows/dependabot-rbi-updater.yml +3 -6
  5. data/.github/workflows/publish_gem.yml +14 -16
  6. data/.github/workflows/release_pipeline.yml +36 -0
  7. data/.rubocop.yml +5 -2
  8. data/Gemfile +1 -1
  9. data/Gemfile.lock +19 -18
  10. data/LICENSE +1 -1
  11. data/README.md +1 -1
  12. data/Rakefile +27 -0
  13. data/lib/lunchmoney/api.rb +160 -35
  14. data/lib/lunchmoney/calls/assets.rb +98 -0
  15. data/lib/lunchmoney/calls/base.rb +118 -0
  16. data/lib/lunchmoney/calls/budgets.rb +84 -0
  17. data/lib/lunchmoney/calls/categories.rb +196 -0
  18. data/lib/lunchmoney/calls/crypto.rb +50 -0
  19. data/lib/lunchmoney/calls/plaid_accounts.rb +40 -0
  20. data/lib/lunchmoney/calls/recurring_expenses.rb +29 -0
  21. data/lib/lunchmoney/calls/tags.rb +21 -0
  22. data/lib/lunchmoney/calls/transactions.rb +220 -0
  23. data/lib/lunchmoney/calls/users.rb +21 -0
  24. data/lib/lunchmoney/errors.rb +17 -1
  25. data/lib/lunchmoney/objects/asset.rb +92 -0
  26. data/lib/lunchmoney/objects/budget.rb +76 -0
  27. data/lib/lunchmoney/objects/category.rb +55 -0
  28. data/lib/lunchmoney/objects/child_category.rb +44 -0
  29. data/lib/lunchmoney/objects/child_transaction.rb +35 -0
  30. data/lib/lunchmoney/objects/config.rb +40 -0
  31. data/lib/lunchmoney/objects/crypto.rb +46 -0
  32. data/lib/lunchmoney/objects/crypto_base.rb +67 -0
  33. data/lib/lunchmoney/objects/data.rb +44 -0
  34. data/lib/lunchmoney/objects/object.rb +28 -0
  35. data/lib/lunchmoney/objects/plaid_account.rb +75 -0
  36. data/lib/lunchmoney/objects/recurring_expense.rb +68 -0
  37. data/lib/lunchmoney/objects/recurring_expense_base.rb +31 -0
  38. data/lib/lunchmoney/objects/split.rb +28 -0
  39. data/lib/lunchmoney/objects/tag.rb +24 -0
  40. data/lib/lunchmoney/objects/tag_base.rb +23 -0
  41. data/lib/lunchmoney/objects/transaction.rb +160 -0
  42. data/lib/lunchmoney/objects/transaction_base.rb +54 -0
  43. data/lib/lunchmoney/objects/transaction_modification_base.rb +32 -0
  44. data/lib/lunchmoney/objects/update_transaction.rb +47 -0
  45. data/lib/lunchmoney/objects/user.rb +38 -0
  46. data/lib/lunchmoney/version.rb +1 -1
  47. data/lunchmoney.gemspec +3 -4
  48. data/sorbet/rbi/gems/{minitest@5.21.2.rbi → minitest@5.22.2.rbi} +147 -144
  49. data/sorbet/rbi/gems/{rubocop-sorbet@0.7.6.rbi → rubocop-sorbet@0.7.7.rbi} +53 -6
  50. data/sorbet/rbi/gems/{rubocop@1.60.1.rbi → rubocop@1.60.2.rbi} +51 -30
  51. data/sorbet/rbi/gems/{toys@0.15.4.rbi → toys@0.15.5.rbi} +3 -3
  52. data/sorbet/rbi/gems/{webmock@3.19.1.rbi → webmock@3.20.0.rbi} +10 -10
  53. metadata +50 -47
  54. data/lib/lunchmoney/api_call.rb +0 -109
  55. data/lib/lunchmoney/assets/asset.rb +0 -89
  56. data/lib/lunchmoney/assets/asset_calls.rb +0 -96
  57. data/lib/lunchmoney/budget/budget.rb +0 -74
  58. data/lib/lunchmoney/budget/budget_calls.rb +0 -82
  59. data/lib/lunchmoney/budget/config.rb +0 -38
  60. data/lib/lunchmoney/budget/data.rb +0 -42
  61. data/lib/lunchmoney/categories/category/category.rb +0 -52
  62. data/lib/lunchmoney/categories/category/child_category.rb +0 -42
  63. data/lib/lunchmoney/categories/category_calls.rb +0 -195
  64. data/lib/lunchmoney/crypto/crypto/crypto.rb +0 -43
  65. data/lib/lunchmoney/crypto/crypto/crypto_base.rb +0 -65
  66. data/lib/lunchmoney/crypto/crypto_calls.rb +0 -49
  67. data/lib/lunchmoney/data_object.rb +0 -25
  68. data/lib/lunchmoney/plaid_accounts/plaid_account.rb +0 -73
  69. data/lib/lunchmoney/plaid_accounts/plaid_account_calls.rb +0 -38
  70. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb +0 -65
  71. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb +0 -29
  72. data/lib/lunchmoney/recurring_expenses/recurring_expense_calls.rb +0 -28
  73. data/lib/lunchmoney/tags/tag/tag.rb +0 -20
  74. data/lib/lunchmoney/tags/tag/tag_base.rb +0 -21
  75. data/lib/lunchmoney/tags/tag_calls.rb +0 -20
  76. data/lib/lunchmoney/transactions/transaction/child_transaction.rb +0 -31
  77. data/lib/lunchmoney/transactions/transaction/split.rb +0 -24
  78. data/lib/lunchmoney/transactions/transaction/transaction.rb +0 -156
  79. data/lib/lunchmoney/transactions/transaction/transaction_base.rb +0 -52
  80. data/lib/lunchmoney/transactions/transaction/transaction_modification_base.rb +0 -30
  81. data/lib/lunchmoney/transactions/transaction/update_transaction.rb +0 -43
  82. data/lib/lunchmoney/transactions/transaction_calls.rb +0 -218
  83. data/lib/lunchmoney/user/user.rb +0 -36
  84. data/lib/lunchmoney/user/user_calls.rb +0 -19
  85. /data/sorbet/rbi/gems/{crack@0.4.5.rbi → crack@1.0.0.rbi} +0 -0
  86. /data/sorbet/rbi/gems/{toys-core@0.15.4.rbi → toys-core@0.15.5.rbi} +0 -0
@@ -0,0 +1,38 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module LunchMoney
5
+ module Objects
6
+ # https://lunchmoney.dev/#user-object
7
+ class User < LunchMoney::Objects::Object
8
+ sig { returns(Integer) }
9
+ attr_accessor :user_id, :account_id
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :user_name, :user_email, :budget_name
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :api_key_label
16
+
17
+ sig do
18
+ params(
19
+ user_id: Integer,
20
+ user_name: String,
21
+ user_email: String,
22
+ account_id: Integer,
23
+ budget_name: String,
24
+ api_key_label: T.nilable(String),
25
+ ).void
26
+ end
27
+ def initialize(user_id:, user_name:, user_email:, account_id:, budget_name:, api_key_label: nil)
28
+ super()
29
+ @user_id = user_id
30
+ @user_name = user_name
31
+ @user_email = user_email
32
+ @account_id = account_id
33
+ @budget_name = budget_name
34
+ @api_key_label = api_key_label
35
+ end
36
+ end
37
+ end
38
+ end
@@ -3,5 +3,5 @@
3
3
 
4
4
  module LunchMoney
5
5
  # Current version of the gem
6
- VERSION = "1.0.0"
6
+ VERSION = "1.1.1"
7
7
  end
data/lunchmoney.gemspec CHANGED
@@ -5,18 +5,17 @@ require_relative "lib/lunchmoney/version"
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "lunchmoney"
7
7
  spec.version = LunchMoney::VERSION
8
- spec.author = "@halorrr"
9
- spec.email = "halorrr@gmail.com"
8
+ spec.author = "@mmenanno"
10
9
 
11
10
  spec.summary = "LunchMoney API client library."
12
- spec.homepage = "https://github.com/halorrr/lunchmoney"
11
+ spec.homepage = "https://github.com/mmenanno/lunchmoney"
13
12
  spec.required_ruby_version = ">= 3.1"
14
13
  spec.license = "MIT"
15
14
 
16
15
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
17
16
  spec.metadata["homepage_uri"] = spec.homepage
18
17
  spec.metadata["source_code_uri"] = spec.homepage
19
- spec.metadata["documentation_uri"] = "https://halorrr.github.io/lunchmoney/"
18
+ spec.metadata["documentation_uri"] = "https://mmenanno.github.io/lunchmoney/"
20
19
  spec.metadata["changelog_uri"] = "#{spec.homepage}/releases"
21
20
 
22
21
  # Specify which files should be added to the gem when it is released.