finrb 0.0.1 → 0.1.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.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +7 -0
- data/.github/issue_template.md +15 -0
- data/.github/pull_request_template.md +17 -0
- data/.github/workflows/ci.yml +21 -0
- data/.github/workflows/codeql.yml +72 -0
- data/.github/workflows/rubocop.yml +24 -0
- data/.rubocop.yml +270 -5
- data/.semver +2 -2
- data/CHANGELOG.md +35 -26
- data/Gemfile +1 -1
- data/Gemfile.lock +5 -2
- data/README.md +5 -1
- data/Rakefile +10 -10
- data/docs/api.md +238 -256
- data/finrb.gemspec +24 -80
- data/lib/finrb/amortization.rb +7 -7
- data/lib/finrb/cashflows.rb +40 -41
- data/lib/finrb/config.rb +1 -1
- data/lib/finrb/decimal.rb +2 -2
- data/lib/finrb/rates.rb +5 -5
- data/lib/finrb/transaction.rb +1 -1
- data/lib/finrb/utils.rb +78 -77
- data/lib/finrb.rb +9 -9
- metadata +25 -63
- data/.travis.yml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca0e0f1b32ce469fa5fb2078a6f55e4836c8bbff50918efd593da7934ed3e230
|
4
|
+
data.tar.gz: 58cae9f2f1d746067d98f2ecd17e9c503506f2416559773429e6473a3b5e3f9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a98a8c9a19317253db7e464590ce111fb7bdb6a88aca5c29b2e6f30d0378701ebc3d956061d2672e8450a40de883cdf342a04ca3993608bc2726347097064da
|
7
|
+
data.tar.gz: be19a4a46eb02e4f422f690709f13e5800cbeae3be82e7f7d323970333cdbd65eebbb17bf2acab77b23710bd626bafa070454ecdbb1f48d85b4c99a28cd55e18
|
@@ -0,0 +1,15 @@
|
|
1
|
+
### Steps to reproduce
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
# Your reproduction script goes here
|
5
|
+
```
|
6
|
+
|
7
|
+
### Expected behavior
|
8
|
+
<!-- Tell us what should happen -->
|
9
|
+
|
10
|
+
### Actual behavior
|
11
|
+
<!-- Tell us what happens instead -->
|
12
|
+
|
13
|
+
### System configuration
|
14
|
+
|
15
|
+
**Ruby version**:
|
@@ -0,0 +1,17 @@
|
|
1
|
+
### Summary
|
2
|
+
|
3
|
+
<!-- Provide a general description of the code changes in your pull
|
4
|
+
request... were there any bugs you had fixed? If so, mention them. If
|
5
|
+
these bugs have open GitHub issues, be sure to tag them here as well,
|
6
|
+
to keep the conversation linked together. -->
|
7
|
+
|
8
|
+
### Other Information
|
9
|
+
|
10
|
+
<!-- If there's anything else that's important and relevant to your pull
|
11
|
+
request, mention that information here. This could include
|
12
|
+
benchmarks, or other information.
|
13
|
+
|
14
|
+
If you are updating any of the CHANGELOG files or are asked to update the
|
15
|
+
CHANGELOG files by reviewers, please add the CHANGELOG entry at the top of the file.
|
16
|
+
|
17
|
+
Thanks for contributing to finrb! -->
|
@@ -0,0 +1,21 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
strategy:
|
8
|
+
fail-fast: false
|
9
|
+
matrix:
|
10
|
+
ruby_version: ["3.0", "3.1"]
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
steps:
|
13
|
+
- uses: actions/checkout@v2
|
14
|
+
- name: Set up Ruby
|
15
|
+
uses: ruby/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
ruby-version: ${{ matrix.ruby_version }}
|
18
|
+
- name: Install dependencies
|
19
|
+
run: bundle install --jobs 4 --retry 3
|
20
|
+
- name: Run tests
|
21
|
+
run: bundle exec rake
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
2
|
+
# to commit it to your repository.
|
3
|
+
#
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
5
|
+
# or to provide custom queries or build logic.
|
6
|
+
#
|
7
|
+
# ******** NOTE ********
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
10
|
+
# supported CodeQL languages.
|
11
|
+
#
|
12
|
+
name: "CodeQL"
|
13
|
+
|
14
|
+
on:
|
15
|
+
push:
|
16
|
+
branches: [ "master" ]
|
17
|
+
pull_request:
|
18
|
+
# The branches below must be a subset of the branches above
|
19
|
+
branches: [ "master" ]
|
20
|
+
schedule:
|
21
|
+
- cron: '34 2 * * 3'
|
22
|
+
|
23
|
+
jobs:
|
24
|
+
analyze:
|
25
|
+
name: Analyze
|
26
|
+
runs-on: ubuntu-latest
|
27
|
+
permissions:
|
28
|
+
actions: read
|
29
|
+
contents: read
|
30
|
+
security-events: write
|
31
|
+
|
32
|
+
strategy:
|
33
|
+
fail-fast: false
|
34
|
+
matrix:
|
35
|
+
language: [ 'ruby' ]
|
36
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
37
|
+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
38
|
+
|
39
|
+
steps:
|
40
|
+
- name: Checkout repository
|
41
|
+
uses: actions/checkout@v3
|
42
|
+
|
43
|
+
# Initializes the CodeQL tools for scanning.
|
44
|
+
- name: Initialize CodeQL
|
45
|
+
uses: github/codeql-action/init@v2
|
46
|
+
with:
|
47
|
+
languages: ${{ matrix.language }}
|
48
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
49
|
+
# By default, queries listed here will override any specified in a config file.
|
50
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
51
|
+
|
52
|
+
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
53
|
+
# queries: security-extended,security-and-quality
|
54
|
+
|
55
|
+
|
56
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
57
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
58
|
+
- name: Autobuild
|
59
|
+
uses: github/codeql-action/autobuild@v2
|
60
|
+
|
61
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
62
|
+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
63
|
+
|
64
|
+
# If the Autobuild fails above, remove it and uncomment the following three lines.
|
65
|
+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
|
66
|
+
|
67
|
+
# - run: |
|
68
|
+
# echo "Run, Build Application using script"
|
69
|
+
# ./location_of_script_within_repo/buildscript.sh
|
70
|
+
|
71
|
+
- name: Perform CodeQL Analysis
|
72
|
+
uses: github/codeql-action/analyze@v2
|
@@ -0,0 +1,24 @@
|
|
1
|
+
name: RuboCop
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
permissions:
|
6
|
+
contents: read
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
build:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
strategy:
|
12
|
+
fail-fast: false
|
13
|
+
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v3
|
16
|
+
|
17
|
+
- name: Set up Ruby 3.1
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 3.1
|
21
|
+
bundler-cache: true
|
22
|
+
|
23
|
+
- name: Run RuboCop
|
24
|
+
run: bundle exec rubocop
|
data/.rubocop.yml
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require:
|
2
2
|
- rubocop-performance
|
3
3
|
- rubocop-rake
|
4
|
+
- rubocop-packaging
|
4
5
|
- rubocop-minitest
|
5
6
|
|
6
7
|
Lint/NumberConversion:
|
@@ -8,12 +9,276 @@ Lint/NumberConversion:
|
|
8
9
|
|
9
10
|
AllCops:
|
10
11
|
TargetRubyVersion: 3.0
|
11
|
-
|
12
|
-
|
12
|
+
DisabledByDefault: true
|
13
|
+
SuggestExtensions: false
|
13
14
|
UseCache: true
|
14
15
|
Exclude:
|
15
|
-
- '
|
16
|
-
- 'tmp/**/*'
|
17
|
-
- '
|
16
|
+
- '**/.git/**/*'
|
17
|
+
- '**/tmp/**/*'
|
18
|
+
- '**/vendor/**/*'
|
18
19
|
CacheRootDirectory: tmp
|
19
20
|
MaxFilesInCache: 36000
|
21
|
+
|
22
|
+
|
23
|
+
# Prefer &&/|| over and/or.
|
24
|
+
Style/AndOr:
|
25
|
+
Enabled: true
|
26
|
+
|
27
|
+
# Align `when` with `case`.
|
28
|
+
Layout/CaseIndentation:
|
29
|
+
Enabled: true
|
30
|
+
|
31
|
+
Layout/ClosingHeredocIndentation:
|
32
|
+
Enabled: true
|
33
|
+
|
34
|
+
Layout/ClosingParenthesisIndentation:
|
35
|
+
Enabled: true
|
36
|
+
|
37
|
+
# Align comments with method definitions.
|
38
|
+
Layout/CommentIndentation:
|
39
|
+
Enabled: true
|
40
|
+
|
41
|
+
Layout/ElseAlignment:
|
42
|
+
Enabled: true
|
43
|
+
|
44
|
+
# Align `end` with the matching keyword or starting expression except for
|
45
|
+
# assignments, where it should be aligned with the LHS.
|
46
|
+
Layout/EndAlignment:
|
47
|
+
Enabled: true
|
48
|
+
EnforcedStyleAlignWith: variable
|
49
|
+
AutoCorrect: true
|
50
|
+
|
51
|
+
Layout/EndOfLine:
|
52
|
+
Enabled: true
|
53
|
+
|
54
|
+
Layout/EmptyLineAfterMagicComment:
|
55
|
+
Enabled: true
|
56
|
+
|
57
|
+
Layout/EmptyLinesAroundAccessModifier:
|
58
|
+
Enabled: true
|
59
|
+
EnforcedStyle: only_before
|
60
|
+
|
61
|
+
Layout/EmptyLinesAroundBlockBody:
|
62
|
+
Enabled: true
|
63
|
+
|
64
|
+
# In a regular class definition, no empty lines around the body.
|
65
|
+
Layout/EmptyLinesAroundClassBody:
|
66
|
+
Enabled: true
|
67
|
+
|
68
|
+
# In a regular method definition, no empty lines around the body.
|
69
|
+
Layout/EmptyLinesAroundMethodBody:
|
70
|
+
Enabled: true
|
71
|
+
|
72
|
+
# In a regular module definition, no empty lines around the body.
|
73
|
+
Layout/EmptyLinesAroundModuleBody:
|
74
|
+
Enabled: true
|
75
|
+
|
76
|
+
# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
|
77
|
+
Style/HashSyntax:
|
78
|
+
Enabled: true
|
79
|
+
|
80
|
+
# Method definitions after `private` or `protected` isolated calls need one
|
81
|
+
# extra level of indentation.
|
82
|
+
Layout/IndentationConsistency:
|
83
|
+
Enabled: true
|
84
|
+
EnforcedStyle: indented_internal_methods
|
85
|
+
|
86
|
+
# Two spaces, no tabs (for indentation).
|
87
|
+
Layout/IndentationWidth:
|
88
|
+
Enabled: true
|
89
|
+
|
90
|
+
Layout/LeadingCommentSpace:
|
91
|
+
Enabled: true
|
92
|
+
|
93
|
+
Layout/SpaceAfterColon:
|
94
|
+
Enabled: true
|
95
|
+
|
96
|
+
Layout/SpaceAfterComma:
|
97
|
+
Enabled: true
|
98
|
+
|
99
|
+
Layout/SpaceAfterSemicolon:
|
100
|
+
Enabled: true
|
101
|
+
|
102
|
+
Layout/SpaceAroundEqualsInParameterDefault:
|
103
|
+
Enabled: true
|
104
|
+
|
105
|
+
Layout/SpaceAroundKeyword:
|
106
|
+
Enabled: true
|
107
|
+
|
108
|
+
Layout/SpaceAroundOperators:
|
109
|
+
Enabled: true
|
110
|
+
|
111
|
+
Layout/SpaceBeforeComma:
|
112
|
+
Enabled: true
|
113
|
+
|
114
|
+
Layout/SpaceBeforeComment:
|
115
|
+
Enabled: true
|
116
|
+
|
117
|
+
Layout/SpaceBeforeFirstArg:
|
118
|
+
Enabled: true
|
119
|
+
|
120
|
+
Style/DefWithParentheses:
|
121
|
+
Enabled: true
|
122
|
+
|
123
|
+
# Defining a method with parameters needs parentheses.
|
124
|
+
Style/MethodDefParentheses:
|
125
|
+
Enabled: true
|
126
|
+
|
127
|
+
Style/ExplicitBlockArgument:
|
128
|
+
Enabled: true
|
129
|
+
|
130
|
+
Style/FrozenStringLiteralComment:
|
131
|
+
Enabled: true
|
132
|
+
EnforcedStyle: always
|
133
|
+
|
134
|
+
Style/MapToHash:
|
135
|
+
Enabled: true
|
136
|
+
|
137
|
+
Style/RedundantFreeze:
|
138
|
+
Enabled: true
|
139
|
+
|
140
|
+
# Use `foo {}` not `foo{}`.
|
141
|
+
Layout/SpaceBeforeBlockBraces:
|
142
|
+
Enabled: true
|
143
|
+
|
144
|
+
# Use `foo { bar }` not `foo {bar}`.
|
145
|
+
Layout/SpaceInsideBlockBraces:
|
146
|
+
Enabled: true
|
147
|
+
EnforcedStyleForEmptyBraces: space
|
148
|
+
|
149
|
+
# Use `{ a: 1 }` not `{a:1}`.
|
150
|
+
Layout/SpaceInsideHashLiteralBraces:
|
151
|
+
Enabled: true
|
152
|
+
|
153
|
+
Layout/SpaceInsideParens:
|
154
|
+
Enabled: true
|
155
|
+
|
156
|
+
# Check quotes usage according to lint rule below.
|
157
|
+
Style/StringLiterals:
|
158
|
+
Enabled: true
|
159
|
+
EnforcedStyle: double_quotes
|
160
|
+
|
161
|
+
# Detect hard tabs, no hard tabs.
|
162
|
+
Layout/IndentationStyle:
|
163
|
+
Enabled: true
|
164
|
+
|
165
|
+
# Empty lines should not have any spaces.
|
166
|
+
Layout/TrailingEmptyLines:
|
167
|
+
Enabled: true
|
168
|
+
|
169
|
+
# No trailing whitespace.
|
170
|
+
Layout/TrailingWhitespace:
|
171
|
+
Enabled: true
|
172
|
+
|
173
|
+
# Use quotes for string literals when they are enough.
|
174
|
+
Style/RedundantPercentQ:
|
175
|
+
Enabled: true
|
176
|
+
|
177
|
+
Lint/AmbiguousOperator:
|
178
|
+
Enabled: true
|
179
|
+
|
180
|
+
Lint/AmbiguousRegexpLiteral:
|
181
|
+
Enabled: true
|
182
|
+
|
183
|
+
Lint/DuplicateRequire:
|
184
|
+
Enabled: true
|
185
|
+
|
186
|
+
Lint/DuplicateMethods:
|
187
|
+
Enabled: true
|
188
|
+
|
189
|
+
Lint/ErbNewArguments:
|
190
|
+
Enabled: true
|
191
|
+
|
192
|
+
Lint/EnsureReturn:
|
193
|
+
Enabled: true
|
194
|
+
|
195
|
+
# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
|
196
|
+
Lint/RequireParentheses:
|
197
|
+
Enabled: true
|
198
|
+
|
199
|
+
Lint/RedundantStringCoercion:
|
200
|
+
Enabled: true
|
201
|
+
|
202
|
+
Lint/UriEscapeUnescape:
|
203
|
+
Enabled: true
|
204
|
+
|
205
|
+
Lint/UselessAssignment:
|
206
|
+
Enabled: true
|
207
|
+
|
208
|
+
Lint/DeprecatedClassMethods:
|
209
|
+
Enabled: true
|
210
|
+
|
211
|
+
Style/ParenthesesAroundCondition:
|
212
|
+
Enabled: true
|
213
|
+
|
214
|
+
Style/HashTransformKeys:
|
215
|
+
Enabled: true
|
216
|
+
|
217
|
+
Style/HashTransformValues:
|
218
|
+
Enabled: true
|
219
|
+
|
220
|
+
Style/RedundantBegin:
|
221
|
+
Enabled: true
|
222
|
+
|
223
|
+
Style/RedundantReturn:
|
224
|
+
Enabled: true
|
225
|
+
AllowMultipleReturnValues: true
|
226
|
+
|
227
|
+
Style/RedundantRegexpEscape:
|
228
|
+
Enabled: true
|
229
|
+
|
230
|
+
Style/Semicolon:
|
231
|
+
Enabled: true
|
232
|
+
AllowAsExpressionSeparator: true
|
233
|
+
|
234
|
+
# Prefer Foo.method over Foo::method
|
235
|
+
Style/ColonMethodCall:
|
236
|
+
Enabled: true
|
237
|
+
|
238
|
+
Style/TrivialAccessors:
|
239
|
+
Enabled: true
|
240
|
+
|
241
|
+
Performance/BindCall:
|
242
|
+
Enabled: true
|
243
|
+
|
244
|
+
Performance/FlatMap:
|
245
|
+
Enabled: true
|
246
|
+
|
247
|
+
Performance/MapCompact:
|
248
|
+
Enabled: true
|
249
|
+
|
250
|
+
Performance/SelectMap:
|
251
|
+
Enabled: true
|
252
|
+
|
253
|
+
Performance/RedundantMerge:
|
254
|
+
Enabled: true
|
255
|
+
|
256
|
+
Performance/StartWith:
|
257
|
+
Enabled: true
|
258
|
+
|
259
|
+
Performance/EndWith:
|
260
|
+
Enabled: true
|
261
|
+
|
262
|
+
Performance/RegexpMatch:
|
263
|
+
Enabled: true
|
264
|
+
|
265
|
+
Performance/ReverseEach:
|
266
|
+
Enabled: true
|
267
|
+
|
268
|
+
Performance/StringReplacement:
|
269
|
+
Enabled: true
|
270
|
+
|
271
|
+
Performance/UnfreezeString:
|
272
|
+
Enabled: true
|
273
|
+
|
274
|
+
Performance/DeletePrefix:
|
275
|
+
Enabled: true
|
276
|
+
|
277
|
+
Performance/DeleteSuffix:
|
278
|
+
Enabled: true
|
279
|
+
|
280
|
+
Performance/OpenStruct:
|
281
|
+
Enabled: true
|
282
|
+
|
283
|
+
Minitest/UnreachableAssertion:
|
284
|
+
Enabled: true
|
data/.semver
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,74 +1,83 @@
|
|
1
1
|
# finrb changelog
|
2
2
|
|
3
|
+
## 0.1.0
|
4
|
+
|
5
|
+
- sets ruby dependency to >= 3
|
6
|
+
- update/fix dependencies
|
7
|
+
- adds docker files for develop/test
|
8
|
+
- fix license files
|
9
|
+
- port [FinCal](https://github.com/felixfan/FinCal) library to ruby.
|
10
|
+
- readme update, api reference file outside main readme.
|
11
|
+
|
3
12
|
# Finance gem changelog
|
4
13
|
|
5
14
|
## Version 2.0.2
|
6
15
|
|
7
16
|
19 March 2019
|
8
17
|
|
9
|
-
|
10
|
-
|
11
|
-
|
18
|
+
- Fix BigDecimal deprecation warning
|
19
|
+
- Support Ruby 2.6.2
|
20
|
+
- Update dependencies
|
12
21
|
|
13
22
|
## Version 2.0.1
|
14
23
|
|
15
24
|
17 October 2017
|
16
25
|
|
17
|
-
|
18
|
-
|
19
|
-
|
26
|
+
- Added Support for configuration file to set up default eps and guess for IRR & XIRR
|
27
|
+
- Added guess rate for IRR & XIRR
|
28
|
+
- NVP now does not change the given cashflow array
|
20
29
|
|
21
30
|
## Version 2.0.0
|
22
31
|
|
23
32
|
23 Jul 2013
|
24
33
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
34
|
+
- Removed Integer#months, Integer#years, and replaced Numeric#to_d by Numeric#to_s in the interest of Rails compatibility.
|
35
|
+
- Converted unit tests from the shoulda framework to minitest.
|
36
|
+
- Removed octal numbers in test_cashflow.rb
|
37
|
+
- Thanks to @thadd, @bramswenson, and @xpe for their contributions to this release!
|
29
38
|
|
30
39
|
## Version 1.1.2
|
31
40
|
|
32
41
|
16 Jun 2012
|
33
42
|
|
34
|
-
|
35
|
-
|
43
|
+
- Bugfix: Array#irr and Array#xirr check for a valid sequence of cash flows.
|
44
|
+
- Bugfix: Integer#months and Integer#years no longer collide with Rails methods.
|
36
45
|
|
37
46
|
## Version 1.1.0
|
38
47
|
|
39
48
|
11 Sep 2011
|
40
49
|
|
41
|
-
|
42
|
-
|
43
|
-
|
50
|
+
- Added XNPV and XIRR functions, with basic testing.
|
51
|
+
- Bugfix: Array#sum no longer collides with the Array#sum defined in Rails.
|
52
|
+
- Bugfix: Numeric#amortize now correctly calls Finrb::Amortization#new.
|
44
53
|
|
45
54
|
## Version 1.0.0
|
46
55
|
|
47
56
|
20 Jul 2011
|
48
57
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
58
|
+
- Moved to Ruby 1.9.
|
59
|
+
- All classes are now contained within the +Finrb+ namespace.
|
60
|
+
- LOTS of additional documentation and examples.
|
61
|
+
- Introduced _shoulda_ for unit tests, to make things a little more readable.
|
62
|
+
- Bugfix: The +amortize+ Numeric method now accepts a variable number of rates.
|
63
|
+
- Some code refactoring and clean-up for a small performance increase.
|
55
64
|
|
56
65
|
## Version 0.2.0
|
57
66
|
|
58
67
|
28 Jun 2011
|
59
68
|
|
60
|
-
|
61
|
-
|
69
|
+
- Added support for adjustable rate mortgages.
|
70
|
+
- Added support for additional payments.
|
62
71
|
|
63
72
|
## Version 0.1.1
|
64
73
|
|
65
74
|
21 Jun 2011
|
66
75
|
|
67
|
-
|
76
|
+
- Code examples in README now display correctly in the online documentation.
|
68
77
|
|
69
78
|
## Version 0.1.0
|
70
79
|
|
71
80
|
21 Jun 2011
|
72
81
|
|
73
|
-
|
74
|
-
|
82
|
+
- Support for fixed-rate mortgage amortization.
|
83
|
+
- NPV, IRR array methods for cash flow analysis.
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
finrb (0.0
|
4
|
+
finrb (0.1.0)
|
5
5
|
activesupport
|
6
6
|
business_time
|
7
7
|
flt
|
8
8
|
|
9
9
|
GEM
|
10
|
-
remote:
|
10
|
+
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
12
|
activesupport (7.0.3.1)
|
13
13
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
@@ -66,6 +66,8 @@ GEM
|
|
66
66
|
parser (>= 3.1.1.0)
|
67
67
|
rubocop-minitest (0.21.0)
|
68
68
|
rubocop (>= 0.90, < 2.0)
|
69
|
+
rubocop-packaging (0.5.1)
|
70
|
+
rubocop (>= 0.89, < 2.0)
|
69
71
|
rubocop-performance (1.14.3)
|
70
72
|
rubocop (>= 1.7.0, < 2.0)
|
71
73
|
rubocop-ast (>= 0.4.0)
|
@@ -107,6 +109,7 @@ DEPENDENCIES
|
|
107
109
|
rake
|
108
110
|
rubocop
|
109
111
|
rubocop-minitest
|
112
|
+
rubocop-packaging
|
110
113
|
rubocop-performance
|
111
114
|
rubocop-rake
|
112
115
|
semver
|
data/README.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# finrb
|
2
2
|
|
3
|
+
[](https://github.com/ncs1/finrb/actions/workflows/ci.yml)
|
4
|
+
[](https://github.com/ncs1/finrb/actions/workflows/codeql.yml)
|
5
|
+
[](https://github.com/ncs1/finrb/actions/workflows/rubocop.yml)
|
6
|
+
|
3
7
|
Ruby gem for financial calculations/modeling.
|
4
8
|
|
5
9
|
finrb forked from the ruby [finance](https://github.com/Edward-Intelligence/finance) gem.
|
@@ -91,7 +95,7 @@ See [api.md](docs/api.md)
|
|
91
95
|
## Resources
|
92
96
|
|
93
97
|
* [RubyGems Page](https://rubygems.org/gems/finrb)
|
94
|
-
* [Source Code](
|
98
|
+
* [Source Code](https://github.com/ncs1/finrb)
|
95
99
|
* [Bug Tracker](https://github.com/ncs1/finrb/issues)
|
96
100
|
|
97
101
|
## License
|
data/Rakefile
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "rake"
|
4
|
+
require "rake/testtask"
|
5
5
|
|
6
6
|
task default: [:test_units]
|
7
7
|
|
8
|
-
Rake::TestTask.new(
|
9
|
-
t.pattern =
|
8
|
+
Rake::TestTask.new("test_units") do |t|
|
9
|
+
t.pattern = "test/*.rb"
|
10
10
|
t.verbose = true
|
11
11
|
t.warning = true
|
12
12
|
end
|
13
13
|
|
14
14
|
namespace :docker do
|
15
|
-
desc
|
15
|
+
desc "Build docker instance"
|
16
16
|
task :build do
|
17
17
|
Dir.chdir(__dir__.to_s) do
|
18
|
-
system
|
18
|
+
system "docker build --target development -t finrb:1.0 -f Dockerfile ."
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
desc
|
22
|
+
desc "Run test docker build"
|
23
23
|
task :test do
|
24
24
|
Dir.chdir(__dir__.to_s) do
|
25
|
-
system
|
25
|
+
system "docker build --target testing -t finrb:1.0 -f Dockerfile ."
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
desc
|
29
|
+
desc "Run dev docker instance"
|
30
30
|
task :run do
|
31
|
-
system
|
31
|
+
system "docker run --init -it --rm finrb:1.0"
|
32
32
|
end
|
33
33
|
end
|