class DockCheck

Public Class Methods

new() click to toggle source
# File lib/dockcheck.rb, line 6
def initialize()
  @checkers_map = {inn: Inn, snils: Snils, bik: Bik, kpp: Kpp, ogrnip: Ogrnip, ogrn: Ogrn}
  self
end

Public Instance Methods

check(data) click to toggle source
# File lib/dockcheck.rb, line 11
def check(data)
  document = DockHelper.prepare_doc(data)
  check_doc(document)
end
check_many(documents) click to toggle source
# File lib/dockcheck.rb, line 16
def check_many(documents)
  documents.each do |document|
    doc = DockHelper.prepare_doc(document)
    check_doc(doc)
  end
end
list_checkers() click to toggle source
# File lib/dockcheck.rb, line 23
def list_checkers
  @checkers_map.map { |checker| checker.last.name }
end

Private Instance Methods

check_doc(doc) click to toggle source
# File lib/dockcheck.rb, line 29
def check_doc(doc)
  checker = doc[:type]
  result = doc

  if checker
    if @checkers_map.key?(checker.to_sym)
      if doc[:content]
        result = @checkers_map[checker].check(doc)
      else
        result[:error] = 'Content field required!'
      end
    else
      result[:error] = 'Incorrect checker!'
    end
  else
    result[:error] = 'Document type field required!'
  end

  result
end