loan_creator 0.6.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8db3e56a2163350ca40694fd499d989155ddcf09
4
- data.tar.gz: a37e9da2455b71ef215618ab0f35dd4e55b5cd16
2
+ SHA256:
3
+ metadata.gz: c39773817a99d44a421aac19ea019f43ba24bba4359f8f61630b480f47662c65
4
+ data.tar.gz: b645544fb96db2d5bf60c8b8e811e8b08e54d49d7c5fb62f2af4d54e4619d64d
5
5
  SHA512:
6
- metadata.gz: a56a344d7ed6509fea8625b4897550073f8c5f13e39860501e7d02d8eb40b55cdf4c55b74dca815993d706dc1283c07ec9361cc815590807284d295910858f41
7
- data.tar.gz: 3db6aebe3ee2a2916175ecfd5f43f231fdbd669d92e217c4601184e70b8c73ab87468b636c739832b3a9181a5165dca3a9313d29d5fe4512cae3dc0747c9af4a
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.3
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
- Metrics/LineLength:
15
+ Layout/LineLength:
16
16
  Max: 120
17
17
 
18
18
  Metrics/MethodLength:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.3.7
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
@@ -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 << current_term }
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 = bigd('0')
20
- @period_interests = total_interests
21
- @period_capital = @crd_beginning_of_period
22
- @total_paid_capital_end_of_period = @period_capital
23
- @total_paid_interests_end_of_period = @period_interests
24
- @period_amount_to_pay = @period_capital + @period_interests
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
- # Capital * (periodic_interests_rate ^(total_terms))
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 total_interests
37
- total_payment - amount
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
@@ -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
- @crd_beginning_of_period = bigd('0')
95
- @crd_end_of_period = bigd('0')
96
- @period_theoric_interests = bigd('0')
97
- @delta_interests = bigd('0')
98
- @accrued_delta_interests = bigd('0')
99
- @amount_to_add = bigd('0')
100
- @period_interests = bigd('0')
101
- @period_capital = bigd('0')
102
- @total_paid_capital_end_of_period = bigd('0')
103
- @total_paid_interests_end_of_period = bigd('0')
104
- @period_amount_to_pay = bigd('0')
105
- @due_on = nil
106
- @index = nil
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: @crd_beginning_of_period,
112
- crd_end_of_period: @crd_end_of_period,
113
- period_theoric_interests: @period_theoric_interests,
114
- delta_interests: @delta_interests,
115
- accrued_delta_interests: @accrued_delta_interests,
116
- amount_to_add: @amount_to_add,
117
- period_interests: @period_interests,
118
- period_capital: @period_capital,
119
- total_paid_capital_end_of_period: @total_paid_capital_end_of_period,
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: @period_amount_to_pay,
122
- due_on: @due_on,
123
- index: @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(starts_on: starts_on, period: period, interests_start_date: interests_start_date)
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 = @crd_end_of_period
133
- @period_theoric_interests = term_zero_interests
134
- @delta_interests = @period_theoric_interests - @period_theoric_interests.round(2)
135
- @accrued_delta_interests += @delta_interests
136
- @period_interests = @period_theoric_interests.round(2)
137
- @total_paid_interests_end_of_period += @period_interests
138
- @period_amount_to_pay = @period_interests
139
- @index = 0
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
@@ -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
@@ -17,6 +17,7 @@ module LoanCreator
17
17
  compute_current_term(idx)
18
18
  timetable << current_term
19
19
  end
20
+
20
21
  timetable
21
22
  end
22
23
 
@@ -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 = (starts_on.is_a?(Date) ? starts_on : Date.parse(starts_on))
19
- @period = 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? ? 1 : @current_index + 1
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 << current_term }
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 = bigd('0')
20
- @period_interests = total_interests
21
- @period_capital = @crd_beginning_of_period
22
- @total_paid_capital_end_of_period = @period_capital
23
- @total_paid_interests_end_of_period = @period_interests
24
- @period_amount_to_pay = @period_capital + @period_interests
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 total_interests
28
- amount.mult(
29
- bigd(periodic_interests_rate) * bigd(duration_in_periods),
30
- BIG_DECIMAL_DIGITS
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
@@ -1,3 +1,3 @@
1
1
  module LoanCreator
2
- VERSION = '0.6.1'.freeze
2
+ VERSION = '0.8.0'.freeze
3
3
  end
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.13'
23
- spec.add_development_dependency 'rake', '~> 10.0'
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.6.1
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: 2020-09-16 00:00:00.000000000 Z
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: '1.13'
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: '1.13'
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: '10.0'
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: '10.0'
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
- rubyforge_project:
176
- rubygems_version: 2.5.2.3
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
@@ -1,11 +0,0 @@
1
- rspec:
2
- image: "ruby:2.3"
3
- before_script:
4
- # COMMANDS
5
- - ruby -v
6
- - which ruby
7
- # BUNDLER
8
- - gem install bundler --no-ri --no-rdoc
9
- - bundle install --jobs $(nproc) "${FLAGS[@]}"
10
- script:
11
- - bundle exec rspec --color --format documentation