Sha256: 469ba73225d3c3ea758871ec921c2ef46bfeb6c2f08001879ca593d80692d527

Contents?: true

Size: 729 Bytes

Versions: 4

Compression:

Stored size: 729 Bytes

Contents

class Numeric
  include ErrorHelper

  Alpha26 = ("a".."z").to_a

  def to_s26
    return "" if self < 1

    s, q = "", self
    loop do
      q, r = (q - 1).divmod(26)
      s.prepend(Alpha26[r])
      break if q.zero?
    end
    s
  end

  def safe_part(part)
    if self > 0
      if part >= 0
        return part.to_f/self.to_f
      else
        raise_positive_number_only
      end
    elsif self == 0
      return 0
    else
      raise_positive_number_only
    end
  end

  def safe_percent(part)
    if self > 0
      if part >= 0
        return safe_part(part)*100
      else
        raise_positive_number_only
      end
    elsif self == 0
      return 0
    else
      raise_positive_number_only
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
creative_rails_utilities-0.3.2 lib/creative_rails_utilities/numeric.rb
creative_rails_utilities-0.3.1 lib/creative_rails_utilities/numeric.rb
creative_rails_utilities-0.3.0 lib/creative_rails_utilities/numeric.rb
creative_rails_utilities-0.2.2 lib/creative_rails_utilities/numeric.rb