diff --git a/lib/xirr/base.rb b/lib/xirr/base.rb index 0a57c1b..596a4b4 100644 --- a/lib/xirr/base.rb +++ b/lib/xirr/base.rb @@ -3,7 +3,6 @@ module Xirr # Base module for XIRR calculation Methods module Base extend ActiveSupport::Concern - require 'inline' attr_reader :cf # @param cf [Cashflow] @@ -24,16 +23,8 @@ def periods_from_start(date) # @return [BigDecimal] def xnpv(rate) cf.inject(0) do |sum, t| - sum + (xnpv_c rate, t.amount, periods_from_start(t.date)) + sum + t.amount / (1+rate.to_f) ** periods_from_start(t.date) end end - - inline { |builder| - builder.include '' - builder.c ' - double xnpv_c(double rate, double amount, double period) { - return amount / pow(1 + rate, period); - }' - } end end diff --git a/xirr.gemspec b/xirr.gemspec index edf6c08..05e1d28 100644 --- a/xirr.gemspec +++ b/xirr.gemspec @@ -21,11 +21,10 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>=2.2.2' spec.add_dependency 'activesupport', '>= 4.1' - spec.add_dependency 'RubyInline', '~> 3' spec.add_development_dependency 'activesupport', '>= 4.1.0' spec.add_development_dependency 'minitest', '~> 5.11' spec.add_development_dependency 'coveralls', '~> 0' - spec.add_development_dependency 'bundler', '~> 1.6' - spec.add_development_dependency 'rake', '~> 10' + spec.add_development_dependency 'bundler', '~> 2' + spec.add_development_dependency 'rake', '~> 13' end