Sha256: c96cfcb0ec0c659782d1f6e18bed6b919a2ef37017d06eae5575a2fcd45a0cbe

Contents?: true

Size: 793 Bytes

Versions: 1

Compression:

Stored size: 793 Bytes

Contents

require 'date'
module Rumanu

  def digit_sum(n)
    cum = n.digits.sum
    cum = digit_sum(cum) unless cum.to_s.length == 1
    return cum
  end

  def reduce_list(l,alphabet)
    init = 0
    l.each do |c|
        alphabet.each do |k,v|
            init += v if c == k
        end
    end
    digit_sum(init)
  end

  def valid_date?(str)
    valid_formats = [/\d{2}\.\d{2}\.\d{4}/, /\d{2}\/\d{2}\/\d{4}/, /\d{2}-\d{2}-\d{4}/, /\d{4}-\d{2}-\d{2}/]
    check_format = valid_formats.map { |f| f.match?(str) && 1 || 0}.reduce(0,:+)
    raise ArgumentError.new("Incorrect date format") if check_format.zero?
  end

  def valid_hash?(h)
    raise ArgumentError.new("Object must me a Hash") unless h.is_a? Hash
    raise ArgumentError.new("Hash can not be empty") unless h.empty? true

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rumanu-0.11.1 lib/rumanu/helpers.rb