Sha256: 34176c02950e745e502086707a8a237980fb389b448d65a0fc6e073e1bf364ab

Contents?: true

Size: 646 Bytes

Versions: 1

Compression:

Stored size: 646 Bytes

Contents

module Polyfill
  module V2_4
    module Integer
      module Round
        module Method
          def round(ndigits = 0, half: nil)
            unless [nil, :down, :even, :up, 'down', 'even', 'up'].include?(half)
              raise ArgumentError, "invalid rounding mode: #{half}"
            end
            ndigits = ndigits.to_int
            return super() if ndigits == 0
            return to_f if ndigits > 0

            place = 10 ** -ndigits
            (self.to_f / place).round * place
          end if RUBY_VERSION < '2.4.0'
        end

        refine ::Integer do
          include Method
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
polyfill-0.1.0 lib/polyfill/v2_4/integer/round.rb