loan_creator 0.6.1 → 0.8.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 +5 -5
- data/.circleci/config.yml +45 -0
- data/.rubocop.yml +2 -2
- data/.ruby-version +1 -1
- data/CHANGELOG.md +34 -0
- data/README.md +15 -0
- data/lib/loan_creator/borrower_timetable.rb +4 -1
- data/lib/loan_creator/bullet.rb +15 -16
- data/lib/loan_creator/common.rb +69 -34
- data/lib/loan_creator/in_fine.rb +1 -1
- data/lib/loan_creator/linear.rb +1 -0
- data/lib/loan_creator/term.rb +6 -0
- data/lib/loan_creator/timetable.rb +7 -6
- data/lib/loan_creator/uncapitalized_bullet.rb +17 -12
- data/lib/loan_creator/version.rb +1 -1
- data/loan_creator.gemspec +2 -2
- metadata +12 -13
- data/.gitlab-ci.yml +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c39773817a99d44a421aac19ea019f43ba24bba4359f8f61630b480f47662c65
|
4
|
+
data.tar.gz: b645544fb96db2d5bf60c8b8e811e8b08e54d49d7c5fb62f2af4d54e4619d64d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e24e2f465c85252f8654a62fc252f0f82f75ffd0690b90ee586517769ad7055d24cecd4e7694f73dc6e54f2260969bffff01f65864e161e2cd89e5bb817477ac
|
7
|
+
data.tar.gz: 7428313e7ca37b6f10b5f20375c007ea1af3d00a1dc7ed95f0d82a56543267a7c37f7604a931f541c2a93ca1bb953d15d774fa7cad064ef08c846c40adfa8ca0
|
@@ -0,0 +1,45 @@
|
|
1
|
+
version: 2.1
|
2
|
+
orbs:
|
3
|
+
ruby: circleci/ruby@0.1.2
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
docker:
|
8
|
+
- image: circleci/ruby:2.7-node
|
9
|
+
executor: ruby/default
|
10
|
+
steps:
|
11
|
+
- checkout
|
12
|
+
- run:
|
13
|
+
name: Bundle install
|
14
|
+
command: |
|
15
|
+
gem install bundler:2.1.4
|
16
|
+
bundle install --path vendor/bundle
|
17
|
+
- run:
|
18
|
+
name: Test
|
19
|
+
command: bundle exec rspec
|
20
|
+
- run:
|
21
|
+
name: Coding style
|
22
|
+
command: |
|
23
|
+
gem install rubocop
|
24
|
+
mkdir -p rubocop
|
25
|
+
rubocop --format html -o rubocop/rubocop.html || true
|
26
|
+
- run:
|
27
|
+
name: Notation
|
28
|
+
command: |
|
29
|
+
gem install sexp_processor -v 4.13.0
|
30
|
+
gem install rubycritic -v 4.3.2
|
31
|
+
rubycritic app --no-browser || true
|
32
|
+
- run:
|
33
|
+
name: "Axe d'optimisation"
|
34
|
+
command: |
|
35
|
+
gem install fasterer
|
36
|
+
fasterer || true
|
37
|
+
- run:
|
38
|
+
name: "Audit Securité du Gemfile"
|
39
|
+
command: |
|
40
|
+
gem install bundler-audit
|
41
|
+
bundle audit --update
|
42
|
+
- store_artifacts:
|
43
|
+
path: rubocop/rubocop.html
|
44
|
+
- store_artifacts:
|
45
|
+
path: tmp/rubycritic
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion: 2.
|
2
|
+
TargetRubyVersion: 2.7
|
3
3
|
Exclude:
|
4
4
|
- 'db/**/*'
|
5
5
|
- 'vendor/**/*'
|
@@ -12,7 +12,7 @@ Metrics/BlockLength:
|
|
12
12
|
Exclude:
|
13
13
|
- spec/**/*
|
14
14
|
|
15
|
-
|
15
|
+
Layout/LineLength:
|
16
16
|
Max: 120
|
17
17
|
|
18
18
|
Metrics/MethodLength:
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.7.1
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,37 @@
|
|
1
|
+
v0.8.0
|
2
|
+
-------------------------
|
3
|
+
|
4
|
+
### FEATURE
|
5
|
+
- due interests to date are now store into `due_interests_` columns for `LoanCreator::UncapitalizedBullet`
|
6
|
+
|
7
|
+
### BUGFIX
|
8
|
+
- fix `initial_values` not taking `paid_capital` and `paid_interests` into account for `LoanCreator::UncapitalizedBullet`
|
9
|
+
and `LoanCreator::Bullet`
|
10
|
+
|
11
|
+
### BREAKING CHANGES
|
12
|
+
- rename columns `capitalized_interests_beginning_of_period` and `capitalized_interests_end_of_period` for
|
13
|
+
`due_interests_beginning_of_period` and `due_interests_end_of_period`
|
14
|
+
- rename `capitalized_interests` option in `:inital_values` into `due_interests`
|
15
|
+
|
16
|
+
|
17
|
+
v0.7.1
|
18
|
+
-------------------------
|
19
|
+
|
20
|
+
- fix `index` for `borrower_timetable` method that did not take into account starting index of `lender_timetables`
|
21
|
+
|
22
|
+
v0.7.0
|
23
|
+
-------------------------
|
24
|
+
|
25
|
+
- change `capitalized_interests` for `capitalized_interests_beginning_of_period`
|
26
|
+
and `capitalized_interests_end_of_period` in `LoanCreator::Term`
|
27
|
+
- add `capitalized_interests` in `:inital_values` for `LoanCreator::Bullet` loans
|
28
|
+
|
29
|
+
v0.6.2
|
30
|
+
-------------------------
|
31
|
+
|
32
|
+
- add `:initial_values` for loans initialization
|
33
|
+
- add and compute `capitalized_interests` for `LoanCreator::Bullet` terms
|
34
|
+
|
1
35
|
v0.6.1
|
2
36
|
-------------------------
|
3
37
|
|
data/README.md
CHANGED
@@ -46,6 +46,19 @@ Each instance of one of the previous classes has the following attributes:
|
|
46
46
|
:duration_in_periods
|
47
47
|
:deferred_in_periods (default to zero)
|
48
48
|
:interests_start_date (optional)
|
49
|
+
:initial_values (to generate a timetable from a previous term or at a given state)
|
50
|
+
```
|
51
|
+
|
52
|
+
Initial values must be a hash with specific keys, like so:
|
53
|
+
|
54
|
+
```ruby
|
55
|
+
{
|
56
|
+
paid_capital: 0,
|
57
|
+
paid_interests: 11000.0,
|
58
|
+
accrued_delta_interests: 0,
|
59
|
+
starting_index: 2,
|
60
|
+
due_interests: 0
|
61
|
+
}
|
49
62
|
```
|
50
63
|
|
51
64
|
There is also a `LoanCreator::Timetable` class dedicated to record the data of the loans' terms. Each instance of `LoanCreator::Timetable` represents an array of `LoanCreator::Term` records, each having the following attributes:
|
@@ -135,9 +148,11 @@ Capital share shall be repaid in full at loan's end.
|
|
135
148
|
`Bullet` loan generates terms where terms' payments are zero. \
|
136
149
|
Interests are capitalized, i.e. added to the borrowed capital on each term.\
|
137
150
|
Capital share shall be repaid in full and all interests paid at loan's end.
|
151
|
+
N.b.: Due capitalized interests to date are stored into terms under `due_intesrests_` columns
|
138
152
|
|
139
153
|
`UncapitalizedBullet` same as bullet, the only difference is the interests\
|
140
154
|
are NOT capitalized.
|
155
|
+
N.b.: Due interests to date are stored into terms under `due_intesrests_` columns
|
141
156
|
|
142
157
|
There is no deferred time for `InFine` and `Bullet` loans as it would be equivalent to increasing loan's duration.
|
143
158
|
|
@@ -7,6 +7,8 @@ module LoanCreator
|
|
7
7
|
:period_capital,
|
8
8
|
:total_paid_capital_end_of_period,
|
9
9
|
:total_paid_interests_end_of_period,
|
10
|
+
:due_interests_beginning_of_period,
|
11
|
+
:due_interests_end_of_period,
|
10
12
|
:period_amount_to_pay
|
11
13
|
].freeze
|
12
14
|
|
@@ -18,6 +20,7 @@ module LoanCreator
|
|
18
20
|
end
|
19
21
|
|
20
22
|
borrower_timetable = LoanCreator::Timetable.new(
|
23
|
+
starting_index: lenders_timetables.first.starting_index,
|
21
24
|
starts_on: lenders_timetables.first.starts_on,
|
22
25
|
period: lenders_timetables.first.period
|
23
26
|
)
|
@@ -34,7 +37,7 @@ module LoanCreator
|
|
34
37
|
term = BORROWER_FINANCIAL_ATTRIBUTES.each_with_object({}) do |k, h|
|
35
38
|
h[k] = arr.inject(bigd('0')) { |sum, tt| sum + tt.send(k) }
|
36
39
|
end
|
37
|
-
borrower_timetable << LoanCreator::Term.new(all_zero.merge(term))
|
40
|
+
borrower_timetable << LoanCreator::Term.new(**all_zero.merge(term))
|
38
41
|
end
|
39
42
|
borrower_timetable
|
40
43
|
end
|
data/lib/loan_creator/bullet.rb
CHANGED
@@ -7,7 +7,7 @@ module LoanCreator
|
|
7
7
|
reset_current_term
|
8
8
|
@crd_beginning_of_period = amount
|
9
9
|
@crd_end_of_period = amount
|
10
|
-
(duration_in_periods - 1).times { timetable
|
10
|
+
(duration_in_periods - 1).times { |period| compute_term(timetable) }
|
11
11
|
compute_last_term
|
12
12
|
timetable << current_term
|
13
13
|
timetable
|
@@ -16,25 +16,24 @@ module LoanCreator
|
|
16
16
|
private
|
17
17
|
|
18
18
|
def compute_last_term
|
19
|
-
@crd_end_of_period
|
20
|
-
@
|
21
|
-
@
|
22
|
-
@
|
23
|
-
@
|
24
|
-
@
|
19
|
+
@crd_end_of_period = bigd('0')
|
20
|
+
@due_interests_beginning_of_period = @due_interests_end_of_period
|
21
|
+
@period_interests = @due_interests_end_of_period + compute_capitalized_interests
|
22
|
+
@due_interests_end_of_period = 0
|
23
|
+
@period_capital = @crd_beginning_of_period
|
24
|
+
@total_paid_capital_end_of_period += @period_capital
|
25
|
+
@total_paid_interests_end_of_period += @period_interests
|
26
|
+
@period_amount_to_pay = @period_capital + @period_interests
|
25
27
|
end
|
26
28
|
|
27
|
-
|
28
|
-
|
29
|
-
def total_payment
|
30
|
-
amount.mult(
|
31
|
-
(bigd(1) + periodic_interests_rate) ** bigd(duration_in_periods),
|
32
|
-
BIG_DECIMAL_DIGITS
|
33
|
-
)
|
29
|
+
def compute_capitalized_interests
|
30
|
+
(amount + @due_interests_beginning_of_period).mult(periodic_interests_rate, BIG_DECIMAL_DIGITS)
|
34
31
|
end
|
35
32
|
|
36
|
-
def
|
37
|
-
|
33
|
+
def compute_term(timetable)
|
34
|
+
@due_interests_beginning_of_period = @due_interests_end_of_period
|
35
|
+
@due_interests_end_of_period += compute_capitalized_interests
|
36
|
+
timetable << current_term
|
38
37
|
end
|
39
38
|
end
|
40
39
|
end
|
data/lib/loan_creator/common.rb
CHANGED
@@ -21,6 +21,7 @@ module LoanCreator
|
|
21
21
|
# attribute: default_value
|
22
22
|
deferred_in_periods: 0,
|
23
23
|
interests_start_date: nil,
|
24
|
+
initial_values: {}
|
24
25
|
}.freeze
|
25
26
|
|
26
27
|
attr_reader *REQUIRED_ATTRIBUTES
|
@@ -32,6 +33,8 @@ module LoanCreator
|
|
32
33
|
reinterpret_attributes
|
33
34
|
set_attributes
|
34
35
|
validate_attributes
|
36
|
+
set_initial_values
|
37
|
+
validate_initial_values
|
35
38
|
end
|
36
39
|
|
37
40
|
def periodic_interests_rate_percentage
|
@@ -90,53 +93,85 @@ module LoanCreator
|
|
90
93
|
validate(:deferred_in_periods) { |v| v.is_a?(Integer) && v >= 0 && v < duration_in_periods }
|
91
94
|
end
|
92
95
|
|
96
|
+
def validate_initial_values
|
97
|
+
return if initial_values.blank?
|
98
|
+
|
99
|
+
validate(:total_paid_capital_end_of_period) { |v| v.is_a?(BigDecimal) && v >= 0 }
|
100
|
+
validate(:total_paid_interests_end_of_period) { |v| v.is_a?(BigDecimal) && v >= 0 }
|
101
|
+
validate(:accrued_delta_interests) { |v| v.is_a?(BigDecimal) }
|
102
|
+
validate(:starting_index) { |v| v.is_a?(Integer) && v >= 0 }
|
103
|
+
end
|
104
|
+
|
105
|
+
def set_initial_values
|
106
|
+
@starting_index = initial_values[:starting_index] || 1
|
107
|
+
|
108
|
+
return if initial_values.blank?
|
109
|
+
|
110
|
+
(@total_paid_capital_end_of_period = bigd(initial_values[:paid_capital]))
|
111
|
+
(@total_paid_interests_end_of_period = bigd(initial_values[:paid_interests]))
|
112
|
+
(@accrued_delta_interests = bigd(initial_values[:accrued_delta_interests]))
|
113
|
+
(@due_interests_beginning_of_period = bigd(initial_values[:due_interests] || 0))
|
114
|
+
end
|
115
|
+
|
93
116
|
def reset_current_term
|
94
|
-
@
|
95
|
-
@
|
96
|
-
@
|
97
|
-
@
|
98
|
-
@
|
99
|
-
@
|
100
|
-
@
|
101
|
-
@
|
102
|
-
@
|
103
|
-
@
|
104
|
-
@
|
105
|
-
@
|
106
|
-
@
|
117
|
+
@accrued_delta_interests ||= bigd('0')
|
118
|
+
@total_paid_capital_end_of_period ||= bigd('0')
|
119
|
+
@total_paid_interests_end_of_period ||= bigd('0')
|
120
|
+
@due_interests_beginning_of_period ||= bigd('0')
|
121
|
+
@crd_beginning_of_period = bigd('0')
|
122
|
+
@crd_end_of_period = bigd('0')
|
123
|
+
@period_theoric_interests = bigd('0')
|
124
|
+
@due_interests_end_of_period = @due_interests_beginning_of_period
|
125
|
+
@delta_interests = bigd('0')
|
126
|
+
@amount_to_add = bigd('0')
|
127
|
+
@period_interests = bigd('0')
|
128
|
+
@period_capital = bigd('0')
|
129
|
+
@period_amount_to_pay = bigd('0')
|
130
|
+
@due_on = nil
|
107
131
|
end
|
108
132
|
|
109
133
|
def current_term
|
110
134
|
LoanCreator::Term.new(
|
111
|
-
crd_beginning_of_period:
|
112
|
-
crd_end_of_period:
|
113
|
-
period_theoric_interests:
|
114
|
-
delta_interests:
|
115
|
-
accrued_delta_interests:
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
135
|
+
crd_beginning_of_period: @crd_beginning_of_period,
|
136
|
+
crd_end_of_period: @crd_end_of_period,
|
137
|
+
period_theoric_interests: @period_theoric_interests,
|
138
|
+
delta_interests: @delta_interests,
|
139
|
+
accrued_delta_interests: @accrued_delta_interests,
|
140
|
+
due_interests_beginning_of_period: @due_interests_beginning_of_period,
|
141
|
+
due_interests_end_of_period: @due_interests_end_of_period,
|
142
|
+
amount_to_add: @amount_to_add,
|
143
|
+
period_interests: @period_interests,
|
144
|
+
period_capital: @period_capital,
|
145
|
+
total_paid_capital_end_of_period: @total_paid_capital_end_of_period,
|
120
146
|
total_paid_interests_end_of_period: @total_paid_interests_end_of_period,
|
121
|
-
period_amount_to_pay:
|
122
|
-
due_on:
|
123
|
-
index:
|
147
|
+
period_amount_to_pay: @period_amount_to_pay,
|
148
|
+
due_on: @due_on,
|
149
|
+
index: compute_index
|
124
150
|
)
|
125
151
|
end
|
126
152
|
|
127
153
|
def new_timetable
|
128
|
-
LoanCreator::Timetable.new(
|
154
|
+
LoanCreator::Timetable.new(
|
155
|
+
starts_on: starts_on,
|
156
|
+
period: period,
|
157
|
+
interests_start_date: interests_start_date,
|
158
|
+
starting_index: @starting_index
|
159
|
+
)
|
160
|
+
end
|
161
|
+
|
162
|
+
def compute_index
|
163
|
+
@index ? (@starting_index + @index - 1) : nil
|
129
164
|
end
|
130
165
|
|
131
166
|
def compute_term_zero
|
132
|
-
@crd_beginning_of_period
|
133
|
-
@period_theoric_interests
|
134
|
-
@delta_interests
|
135
|
-
@accrued_delta_interests
|
136
|
-
@period_interests
|
137
|
-
@total_paid_interests_end_of_period
|
138
|
-
@period_amount_to_pay
|
139
|
-
@index
|
167
|
+
@crd_beginning_of_period = @crd_end_of_period
|
168
|
+
@period_theoric_interests = term_zero_interests
|
169
|
+
@delta_interests = @period_theoric_interests - @period_theoric_interests.round(2)
|
170
|
+
@accrued_delta_interests += @delta_interests
|
171
|
+
@period_interests = @period_theoric_interests.round(2)
|
172
|
+
@total_paid_interests_end_of_period += @period_interests
|
173
|
+
@period_amount_to_pay = @period_interests
|
174
|
+
@index = 0
|
140
175
|
end
|
141
176
|
|
142
177
|
def term_zero_interests
|
data/lib/loan_creator/in_fine.rb
CHANGED
@@ -4,7 +4,7 @@ module LoanCreator
|
|
4
4
|
# Thus we're generating a Linear loan instead of rewriting already existing code.
|
5
5
|
def lender_timetable
|
6
6
|
options = @options.merge(deferred_in_periods: duration_in_periods - 1)
|
7
|
-
LoanCreator::Linear.new(options).lender_timetable
|
7
|
+
LoanCreator::Linear.new(**options).lender_timetable
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
data/lib/loan_creator/linear.rb
CHANGED
data/lib/loan_creator/term.rb
CHANGED
@@ -17,6 +17,12 @@ module LoanCreator
|
|
17
17
|
# Accrued interests' delta
|
18
18
|
:accrued_delta_interests,
|
19
19
|
|
20
|
+
# Due interests at the beginning of the term (Bullet and UncapitalizedBullet only)
|
21
|
+
:due_interests_beginning_of_period,
|
22
|
+
|
23
|
+
# Due interests at the end of the term (Bullet and UncapitalizedBullet only)
|
24
|
+
:due_interests_end_of_period,
|
25
|
+
|
20
26
|
# Adjustment of -0.01, 0 or +0.01 cent depending on accrued_delta_interests
|
21
27
|
:amount_to_add,
|
22
28
|
|
@@ -9,14 +9,15 @@ module LoanCreator
|
|
9
9
|
year: {years: 1}
|
10
10
|
}
|
11
11
|
|
12
|
-
attr_reader :terms, :starts_on, :period #, :interests_start_date
|
12
|
+
attr_reader :terms, :starts_on, :period, :starting_index #, :interests_start_date
|
13
13
|
|
14
|
-
def initialize(starts_on:, period:, interests_start_date: nil)
|
14
|
+
def initialize(starts_on:, period:, interests_start_date: nil, starting_index: 1)
|
15
15
|
raise ArgumentError.new(:period) unless PERIODS.keys.include?(period)
|
16
16
|
|
17
|
-
@terms
|
18
|
-
@starts_on
|
19
|
-
@period
|
17
|
+
@terms = []
|
18
|
+
@starts_on = (starts_on.is_a?(Date) ? starts_on : Date.parse(starts_on))
|
19
|
+
@period = period
|
20
|
+
@starting_index = starting_index
|
20
21
|
|
21
22
|
if interests_start_date
|
22
23
|
@interests_start_date = (interests_start_date.is_a?(Date) ? interests_start_date : Date.parse(interests_start_date))
|
@@ -45,7 +46,7 @@ module LoanCreator
|
|
45
46
|
private
|
46
47
|
|
47
48
|
def autoincrement_index
|
48
|
-
@current_index = @current_index.nil? ?
|
49
|
+
@current_index = (@current_index.nil? ? @starting_index : @current_index + 1)
|
49
50
|
end
|
50
51
|
|
51
52
|
def date_for(index)
|
@@ -7,7 +7,7 @@ module LoanCreator
|
|
7
7
|
reset_current_term
|
8
8
|
@crd_beginning_of_period = amount
|
9
9
|
@crd_end_of_period = amount
|
10
|
-
(duration_in_periods - 1).times { timetable
|
10
|
+
(duration_in_periods - 1).times { |period| compute_term(timetable) }
|
11
11
|
compute_last_term
|
12
12
|
timetable << current_term
|
13
13
|
timetable
|
@@ -16,19 +16,24 @@ module LoanCreator
|
|
16
16
|
private
|
17
17
|
|
18
18
|
def compute_last_term
|
19
|
-
@crd_end_of_period
|
20
|
-
@
|
21
|
-
@
|
22
|
-
@
|
23
|
-
@
|
24
|
-
@
|
19
|
+
@crd_end_of_period = bigd('0')
|
20
|
+
@due_interests_beginning_of_period = @due_interests_end_of_period
|
21
|
+
@period_interests = @due_interests_end_of_period + compute_interests
|
22
|
+
@due_interests_end_of_period = 0
|
23
|
+
@period_capital = @crd_beginning_of_period
|
24
|
+
@total_paid_capital_end_of_period += @period_capital
|
25
|
+
@total_paid_interests_end_of_period += @period_interests
|
26
|
+
@period_amount_to_pay = @period_capital + @period_interests
|
25
27
|
end
|
26
28
|
|
27
|
-
def
|
28
|
-
amount.mult(
|
29
|
-
|
30
|
-
|
31
|
-
|
29
|
+
def compute_interests
|
30
|
+
amount.mult(bigd(periodic_interests_rate), BIG_DECIMAL_DIGITS)
|
31
|
+
end
|
32
|
+
|
33
|
+
def compute_term(timetable)
|
34
|
+
@due_interests_beginning_of_period = @due_interests_end_of_period
|
35
|
+
@due_interests_end_of_period += compute_interests
|
36
|
+
timetable << current_term
|
32
37
|
end
|
33
38
|
end
|
34
39
|
end
|
data/lib/loan_creator/version.rb
CHANGED
data/loan_creator.gemspec
CHANGED
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
23
|
-
spec.add_development_dependency 'rake', '~>
|
22
|
+
spec.add_development_dependency 'bundler', '~> 2.1.4'
|
23
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
24
24
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
25
25
|
spec.add_development_dependency 'simplecov', '~> 0.16'
|
26
26
|
spec.add_development_dependency 'byebug', '~> 11.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: loan_creator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- thibaulth
|
@@ -9,10 +9,10 @@ authors:
|
|
9
9
|
- younes.serraj
|
10
10
|
- Antoine Becquet
|
11
11
|
- Jerome Drevet
|
12
|
-
autorequire:
|
12
|
+
autorequire:
|
13
13
|
bindir: exe
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2021-02-23 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: bundler
|
@@ -20,28 +20,28 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - "~>"
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 2.1.4
|
24
24
|
type: :development
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - "~>"
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version:
|
30
|
+
version: 2.1.4
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: rake
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
34
34
|
requirements:
|
35
35
|
- - "~>"
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: '
|
37
|
+
version: '12.0'
|
38
38
|
type: :development
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
requirements:
|
42
42
|
- - "~>"
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: '
|
44
|
+
version: '12.0'
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
46
|
name: rspec
|
47
47
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,7 +112,7 @@ dependencies:
|
|
112
112
|
- - ">="
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: '0'
|
115
|
-
description:
|
115
|
+
description:
|
116
116
|
email:
|
117
117
|
- thibault@capsens.eu
|
118
118
|
- nicolas.besnard@capsens.eu
|
@@ -123,8 +123,8 @@ executables: []
|
|
123
123
|
extensions: []
|
124
124
|
extra_rdoc_files: []
|
125
125
|
files:
|
126
|
+
- ".circleci/config.yml"
|
126
127
|
- ".gitignore"
|
127
|
-
- ".gitlab-ci.yml"
|
128
128
|
- ".rspec"
|
129
129
|
- ".rubocop.yml"
|
130
130
|
- ".ruby-gemset"
|
@@ -157,7 +157,7 @@ homepage: https://github.com/CapSens/loan-creator
|
|
157
157
|
licenses:
|
158
158
|
- MIT
|
159
159
|
metadata: {}
|
160
|
-
post_install_message:
|
160
|
+
post_install_message:
|
161
161
|
rdoc_options: []
|
162
162
|
require_paths:
|
163
163
|
- lib
|
@@ -172,9 +172,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: '0'
|
174
174
|
requirements: []
|
175
|
-
|
176
|
-
|
177
|
-
signing_key:
|
175
|
+
rubygems_version: 3.1.2
|
176
|
+
signing_key:
|
178
177
|
specification_version: 4
|
179
178
|
summary: Create and update timetables from input data
|
180
179
|
test_files: []
|
data/.gitlab-ci.yml
DELETED