lunchmoney 0.10.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +41 -4
- data/lib/lunchmoney/version.rb +1 -1
- data/lunchmoney.gemspec +1 -0
- data/sorbet/rbi/gems/activesupport@7.1.3.rbi +122 -22
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66fd4ba45ca3d30c32dea0c70f504714811980af2bf373b2412232da5e9d19da
|
4
|
+
data.tar.gz: 1a2becc26568423ff1b6fa70108400efa5cc366cd65e1ced013eb34084c65dee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a3a997026a7ab6c541ef0cb4c8b1fb6fcf992ad91d2ae6cc1ba408007f88a7a001cb9703d7c15038f4ce87fa36d78a9580b4cd5010e3a36a747c4845ce5e96b
|
7
|
+
data.tar.gz: 3a4c3ec3283535b9829afd17427f89e7f88538826b4c30f02075e13807e925fac9070d90f9061ea7ec6cc8f135099dc43623929f83a322a48c987644083931d7
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
# lunchmoney
|
2
2
|
|
3
|
-
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/lunchmoney.svg)](https://badge.fury.io/rb/lunchmoney)
|
4
|
+
[![CI](https://github.com/halorrr/lunchmoney/actions/workflows/ci.yml/badge.svg)](https://github.com/halorrr/lunchmoney/actions/workflows/ci.yml)
|
5
|
+
[![Yard Docs](https://github.com/halorrr/lunchmoney/actions/workflows/build_and_publish_yard_docs.yml/badge.svg)](https://github.com/halorrr/lunchmoney/actions/workflows/build_and_publish_yard_docs.yml)
|
4
6
|
|
5
|
-
This gem is a library of the [LunchMoney API](https://lunchmoney.dev/) for the wonderful [LunchMoney](http://lunchmoney.app/) web app for personal finance & budgeting.
|
7
|
+
This gem is a API client library of the [LunchMoney API](https://lunchmoney.dev/) for the wonderful [LunchMoney](http://lunchmoney.app/) web app for personal finance & budgeting.
|
6
8
|
|
7
|
-
|
9
|
+
Documentation is still a work in process, but you can find the yard docs for this gem [here](https://halorrr.github.io/lunchmoney/) as well as some write ups of the basics below.
|
8
10
|
|
9
11
|
## Usage
|
10
12
|
|
@@ -36,13 +38,48 @@ LunchMoney::Api.new(api_key: "your_api_key")
|
|
36
38
|
|
37
39
|
### Using the API
|
38
40
|
|
39
|
-
|
41
|
+
It is intended that all calls typically go through a `LunchMoney::Api` instannce. This class delegates methods to their
|
42
|
+
relvant classes behind the scenes. Create an instance of the api, then call the endpoint you need:
|
40
43
|
|
41
44
|
```Ruby
|
42
45
|
api = LunchMoney::Api.new
|
43
46
|
api.categories
|
44
47
|
```
|
45
48
|
|
49
|
+
When the api returns an error a `LunchMoney::Errors` object will be returned. You can check the errors that occured via
|
50
|
+
`.messages` on the instance. This will return an array of errors.
|
51
|
+
|
52
|
+
```Ruby
|
53
|
+
api = LunchMoney::Api.new
|
54
|
+
response = api.categories
|
55
|
+
|
56
|
+
response.class
|
57
|
+
=> LunchMoney::Errors
|
58
|
+
|
59
|
+
response.messages
|
60
|
+
=> ["Some error returned by the API"]
|
61
|
+
```
|
62
|
+
|
63
|
+
The instance itself has been set up to act like an array, delegating a lot of common array getter methods directly to
|
64
|
+
messages for you. This enables things like:
|
65
|
+
|
66
|
+
```Ruby
|
67
|
+
api = LunchMoney::Api.new
|
68
|
+
response = api.categories
|
69
|
+
|
70
|
+
response.class
|
71
|
+
=> LunchMoney::Errors
|
72
|
+
|
73
|
+
response.first
|
74
|
+
=> "Some error returned by the API"
|
75
|
+
|
76
|
+
response.empty?
|
77
|
+
=> false
|
78
|
+
|
79
|
+
response[0]
|
80
|
+
=> "Some error returned by the API"
|
81
|
+
```
|
82
|
+
|
46
83
|
## Contributing to this repo
|
47
84
|
|
48
85
|
Feel free to contribute and submit PRs to improve this gem
|
data/lib/lunchmoney/version.rb
CHANGED
data/lunchmoney.gemspec
CHANGED
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
17
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
18
18
|
spec.metadata["source_code_uri"] = spec.homepage
|
19
|
+
spec.metadata["documentation_uri"] = "https://halorrr.github.io/lunchmoney/"
|
19
20
|
spec.metadata["changelog_uri"] = "#{spec.homepage}/releases"
|
20
21
|
|
21
22
|
# Specify which files should be added to the gem when it is released.
|
@@ -10908,43 +10908,43 @@ class ActiveSupport::TestCase < ::Minitest::Test
|
|
10908
10908
|
# source://activesupport//lib/active_support/callbacks.rb#963
|
10909
10909
|
def _teardown_callbacks; end
|
10910
10910
|
|
10911
|
-
# source://minitest/5.21.
|
10911
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#736
|
10912
10912
|
def assert_no_match(matcher, obj, msg = T.unsafe(nil)); end
|
10913
10913
|
|
10914
|
-
# source://minitest/5.21.
|
10914
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#665
|
10915
10915
|
def assert_not_empty(obj, msg = T.unsafe(nil)); end
|
10916
10916
|
|
10917
|
-
# source://minitest/5.21.
|
10917
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#676
|
10918
10918
|
def assert_not_equal(exp, act, msg = T.unsafe(nil)); end
|
10919
10919
|
|
10920
|
-
# source://minitest/5.21.
|
10920
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#688
|
10921
10921
|
def assert_not_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
|
10922
10922
|
|
10923
|
-
# source://minitest/5.21.
|
10923
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#700
|
10924
10924
|
def assert_not_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
|
10925
10925
|
|
10926
|
-
# source://minitest/5.21.
|
10926
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#707
|
10927
10927
|
def assert_not_includes(collection, obj, msg = T.unsafe(nil)); end
|
10928
10928
|
|
10929
|
-
# source://minitest/5.21.
|
10929
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#718
|
10930
10930
|
def assert_not_instance_of(cls, obj, msg = T.unsafe(nil)); end
|
10931
10931
|
|
10932
|
-
# source://minitest/5.21.
|
10932
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#728
|
10933
10933
|
def assert_not_kind_of(cls, obj, msg = T.unsafe(nil)); end
|
10934
10934
|
|
10935
|
-
# source://minitest/5.21.
|
10935
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#746
|
10936
10936
|
def assert_not_nil(obj, msg = T.unsafe(nil)); end
|
10937
10937
|
|
10938
|
-
# source://minitest/5.21.
|
10938
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#781
|
10939
10939
|
def assert_not_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
|
10940
10940
|
|
10941
|
-
# source://minitest/5.21.
|
10941
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#804
|
10942
10942
|
def assert_not_predicate(o1, op, msg = T.unsafe(nil)); end
|
10943
10943
|
|
10944
|
-
# source://minitest/5.21.
|
10944
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#813
|
10945
10945
|
def assert_not_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
|
10946
10946
|
|
10947
|
-
# source://minitest/5.21.
|
10947
|
+
# source://minitest/5.21.2/lib/minitest/assertions.rb#822
|
10948
10948
|
def assert_not_same(exp, act, msg = T.unsafe(nil)); end
|
10949
10949
|
|
10950
10950
|
# source://activesupport//lib/active_support/testing/file_fixtures.rb#20
|
@@ -10956,7 +10956,7 @@ class ActiveSupport::TestCase < ::Minitest::Test
|
|
10956
10956
|
# source://activesupport//lib/active_support/test_case.rb#298
|
10957
10957
|
def inspect; end
|
10958
10958
|
|
10959
|
-
# source://minitest/5.21.
|
10959
|
+
# source://minitest/5.21.2/lib/minitest.rb#311
|
10960
10960
|
def method_name; end
|
10961
10961
|
|
10962
10962
|
class << self
|
@@ -13364,7 +13364,7 @@ end
|
|
13364
13364
|
# source://activesupport//lib/active_support/xml_mini/rexml.rb#11
|
13365
13365
|
ActiveSupport::XmlMini_REXML::CONTENT_KEY = T.let(T.unsafe(nil), String)
|
13366
13366
|
|
13367
|
-
# source://activesupport//lib/active_support/core_ext/object/
|
13367
|
+
# source://activesupport//lib/active_support/core_ext/object/to_query.rb#39
|
13368
13368
|
class Array
|
13369
13369
|
include ::Enumerable
|
13370
13370
|
|
@@ -13699,6 +13699,13 @@ class Date
|
|
13699
13699
|
# source://activesupport//lib/active_support/core_ext/date/calculations.rb#152
|
13700
13700
|
def <=>(other); end
|
13701
13701
|
|
13702
|
+
# Duck-types as a Date-like class. See Object#acts_like?.
|
13703
|
+
#
|
13704
|
+
# @return [Boolean]
|
13705
|
+
#
|
13706
|
+
# source://activesupport//lib/active_support/core_ext/date/acts_like.rb#7
|
13707
|
+
def acts_like_date?; end
|
13708
|
+
|
13702
13709
|
# Provides precise Date calculations for years, months, and days. The +options+ parameter takes a hash with
|
13703
13710
|
# any of these keys: <tt>:years</tt>, <tt>:months</tt>, <tt>:weeks</tt>, <tt>:days</tt>.
|
13704
13711
|
#
|
@@ -15253,7 +15260,7 @@ class Exception
|
|
15253
15260
|
def as_json(options = T.unsafe(nil)); end
|
15254
15261
|
end
|
15255
15262
|
|
15256
|
-
# source://activesupport//lib/active_support/core_ext/object/
|
15263
|
+
# source://activesupport//lib/active_support/core_ext/object/to_query.rb#32
|
15257
15264
|
class FalseClass
|
15258
15265
|
# source://activesupport//lib/active_support/core_ext/object/json.rb#89
|
15259
15266
|
def as_json(options = T.unsafe(nil)); end
|
@@ -16397,7 +16404,7 @@ class NameError < ::StandardError
|
|
16397
16404
|
include ::DidYouMean::Correctable
|
16398
16405
|
end
|
16399
16406
|
|
16400
|
-
# source://activesupport//lib/active_support/core_ext/object/
|
16407
|
+
# source://activesupport//lib/active_support/core_ext/object/to_query.rb#18
|
16401
16408
|
class NilClass
|
16402
16409
|
# source://activesupport//lib/active_support/core_ext/object/json.rb#95
|
16403
16410
|
def as_json(options = T.unsafe(nil)); end
|
@@ -16438,7 +16445,7 @@ class NilClass
|
|
16438
16445
|
def try!(*_arg0); end
|
16439
16446
|
end
|
16440
16447
|
|
16441
|
-
# source://activesupport//lib/active_support/core_ext/
|
16448
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#9
|
16442
16449
|
class Numeric
|
16443
16450
|
include ::Comparable
|
16444
16451
|
|
@@ -16469,6 +16476,20 @@ class Numeric
|
|
16469
16476
|
# source://activesupport//lib/active_support/core_ext/numeric/bytes.rb#15
|
16470
16477
|
def bytes; end
|
16471
16478
|
|
16479
|
+
# Returns a Duration instance matching the number of days provided.
|
16480
|
+
#
|
16481
|
+
# 2.days # => 2 days
|
16482
|
+
#
|
16483
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#37
|
16484
|
+
def day; end
|
16485
|
+
|
16486
|
+
# Returns a Duration instance matching the number of days provided.
|
16487
|
+
#
|
16488
|
+
# 2.days # => 2 days
|
16489
|
+
#
|
16490
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#37
|
16491
|
+
def days; end
|
16492
|
+
|
16472
16493
|
# Returns the number of bytes equivalent to the exabytes provided.
|
16473
16494
|
#
|
16474
16495
|
# 2.exabytes # => 2_305_843_009_213_693_952
|
@@ -16483,6 +16504,20 @@ class Numeric
|
|
16483
16504
|
# source://activesupport//lib/active_support/core_ext/numeric/bytes.rb#63
|
16484
16505
|
def exabytes; end
|
16485
16506
|
|
16507
|
+
# Returns a Duration instance matching the number of fortnights provided.
|
16508
|
+
#
|
16509
|
+
# 2.fortnights # => 4 weeks
|
16510
|
+
#
|
16511
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#53
|
16512
|
+
def fortnight; end
|
16513
|
+
|
16514
|
+
# Returns a Duration instance matching the number of fortnights provided.
|
16515
|
+
#
|
16516
|
+
# 2.fortnights # => 4 weeks
|
16517
|
+
#
|
16518
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#53
|
16519
|
+
def fortnights; end
|
16520
|
+
|
16486
16521
|
# Returns the number of bytes equivalent to the gigabytes provided.
|
16487
16522
|
#
|
16488
16523
|
# 2.gigabytes # => 2_147_483_648
|
@@ -16497,11 +16532,34 @@ class Numeric
|
|
16497
16532
|
# source://activesupport//lib/active_support/core_ext/numeric/bytes.rb#39
|
16498
16533
|
def gigabytes; end
|
16499
16534
|
|
16535
|
+
# Returns a Duration instance matching the number of hours provided.
|
16536
|
+
#
|
16537
|
+
# 2.hours # => 2 hours
|
16538
|
+
#
|
16539
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#29
|
16540
|
+
def hour; end
|
16541
|
+
|
16542
|
+
# Returns a Duration instance matching the number of hours provided.
|
16543
|
+
#
|
16544
|
+
# 2.hours # => 2 hours
|
16545
|
+
#
|
16546
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#29
|
16547
|
+
def hours; end
|
16548
|
+
|
16500
16549
|
# @return [Boolean]
|
16501
16550
|
#
|
16502
16551
|
# source://activesupport//lib/active_support/core_ext/string/output_safety.rb#13
|
16503
16552
|
def html_safe?; end
|
16504
16553
|
|
16554
|
+
# Returns the number of milliseconds equivalent to the seconds provided.
|
16555
|
+
# Used with the standard time durations.
|
16556
|
+
#
|
16557
|
+
# 2.in_milliseconds # => 2000
|
16558
|
+
# 1.hour.in_milliseconds # => 3600000
|
16559
|
+
#
|
16560
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#63
|
16561
|
+
def in_milliseconds; end
|
16562
|
+
|
16505
16563
|
# Returns the number of bytes equivalent to the kilobytes provided.
|
16506
16564
|
#
|
16507
16565
|
# 2.kilobytes # => 2048
|
@@ -16530,6 +16588,20 @@ class Numeric
|
|
16530
16588
|
# source://activesupport//lib/active_support/core_ext/numeric/bytes.rb#31
|
16531
16589
|
def megabytes; end
|
16532
16590
|
|
16591
|
+
# Returns a Duration instance matching the number of minutes provided.
|
16592
|
+
#
|
16593
|
+
# 2.minutes # => 2 minutes
|
16594
|
+
#
|
16595
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#21
|
16596
|
+
def minute; end
|
16597
|
+
|
16598
|
+
# Returns a Duration instance matching the number of minutes provided.
|
16599
|
+
#
|
16600
|
+
# 2.minutes # => 2 minutes
|
16601
|
+
#
|
16602
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#21
|
16603
|
+
def minutes; end
|
16604
|
+
|
16533
16605
|
# Returns the number of bytes equivalent to the petabytes provided.
|
16534
16606
|
#
|
16535
16607
|
# 2.petabytes # => 2_251_799_813_685_248
|
@@ -16544,6 +16616,20 @@ class Numeric
|
|
16544
16616
|
# source://activesupport//lib/active_support/core_ext/numeric/bytes.rb#55
|
16545
16617
|
def petabytes; end
|
16546
16618
|
|
16619
|
+
# Returns a Duration instance matching the number of seconds provided.
|
16620
|
+
#
|
16621
|
+
# 2.seconds # => 2 seconds
|
16622
|
+
#
|
16623
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#13
|
16624
|
+
def second; end
|
16625
|
+
|
16626
|
+
# Returns a Duration instance matching the number of seconds provided.
|
16627
|
+
#
|
16628
|
+
# 2.seconds # => 2 seconds
|
16629
|
+
#
|
16630
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#13
|
16631
|
+
def seconds; end
|
16632
|
+
|
16547
16633
|
# Returns the number of bytes equivalent to the terabytes provided.
|
16548
16634
|
#
|
16549
16635
|
# 2.terabytes # => 2_199_023_255_552
|
@@ -16558,6 +16644,20 @@ class Numeric
|
|
16558
16644
|
# source://activesupport//lib/active_support/core_ext/numeric/bytes.rb#47
|
16559
16645
|
def terabytes; end
|
16560
16646
|
|
16647
|
+
# Returns a Duration instance matching the number of weeks provided.
|
16648
|
+
#
|
16649
|
+
# 2.weeks # => 2 weeks
|
16650
|
+
#
|
16651
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#45
|
16652
|
+
def week; end
|
16653
|
+
|
16654
|
+
# Returns a Duration instance matching the number of weeks provided.
|
16655
|
+
#
|
16656
|
+
# 2.weeks # => 2 weeks
|
16657
|
+
#
|
16658
|
+
# source://activesupport//lib/active_support/core_ext/numeric/time.rb#45
|
16659
|
+
def weeks; end
|
16660
|
+
|
16561
16661
|
# Returns the number of bytes equivalent to the zettabytes provided.
|
16562
16662
|
#
|
16563
16663
|
# 2.zettabytes # => 2_361_183_241_434_822_606_848
|
@@ -16613,7 +16713,7 @@ Numeric::ZETTABYTE = T.let(T.unsafe(nil), Integer)
|
|
16613
16713
|
# using that rescue idiom.
|
16614
16714
|
# ++
|
16615
16715
|
#
|
16616
|
-
# source://activesupport//lib/active_support/core_ext/object/
|
16716
|
+
# source://activesupport//lib/active_support/core_ext/object/to_query.rb#5
|
16617
16717
|
class Object < ::BasicObject
|
16618
16718
|
include ::ActiveSupport::ToJsonWithActiveSupportEncoder
|
16619
16719
|
include ::ActiveSupport::Dependencies::RequireDependency
|
@@ -16820,7 +16920,7 @@ end
|
|
16820
16920
|
#
|
16821
16921
|
# 'ScaleScore'.tableize # => "scale_scores"
|
16822
16922
|
#
|
16823
|
-
# source://activesupport//lib/active_support/core_ext/
|
16923
|
+
# source://activesupport//lib/active_support/core_ext/string/multibyte.rb#5
|
16824
16924
|
class String
|
16825
16925
|
include ::Comparable
|
16826
16926
|
|
@@ -17477,7 +17577,7 @@ class Thread
|
|
17477
17577
|
def active_support_execution_state=(_arg0); end
|
17478
17578
|
end
|
17479
17579
|
|
17480
|
-
# source://activesupport//lib/active_support/core_ext/
|
17580
|
+
# source://activesupport//lib/active_support/core_ext/time/conversions.rb#7
|
17481
17581
|
class Time
|
17482
17582
|
include ::Comparable
|
17483
17583
|
include ::DateAndTime::Zones
|
@@ -17974,7 +18074,7 @@ Time::COMMON_YEAR_DAYS_IN_MONTH = T.let(T.unsafe(nil), Array)
|
|
17974
18074
|
# source://activesupport//lib/active_support/core_ext/time/conversions.rb#8
|
17975
18075
|
Time::DATE_FORMATS = T.let(T.unsafe(nil), Hash)
|
17976
18076
|
|
17977
|
-
# source://activesupport//lib/active_support/core_ext/object/
|
18077
|
+
# source://activesupport//lib/active_support/core_ext/object/to_query.rb#25
|
17978
18078
|
class TrueClass
|
17979
18079
|
# source://activesupport//lib/active_support/core_ext/object/json.rb#83
|
17980
18080
|
def as_json(options = T.unsafe(nil)); end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lunchmoney
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "@halorrr"
|
@@ -205,6 +205,7 @@ metadata:
|
|
205
205
|
allowed_push_host: https://rubygems.org
|
206
206
|
homepage_uri: https://github.com/halorrr/lunchmoney
|
207
207
|
source_code_uri: https://github.com/halorrr/lunchmoney
|
208
|
+
documentation_uri: https://halorrr.github.io/lunchmoney/
|
208
209
|
changelog_uri: https://github.com/halorrr/lunchmoney/releases
|
209
210
|
post_install_message:
|
210
211
|
rdoc_options: []
|