class SpamGuardian::Validator

Attributes

params[R]
response[R]
spams[R]

Public Class Methods

new(object) click to toggle source
# File lib/spam_guardian/validator.rb, line 13
def initialize(object)
  @params = ParamsBuilder.new(object)
  @spams = []
end

Public Instance Methods

valid?() click to toggle source
# File lib/spam_guardian/validator.rb, line 18
def valid?
  validate!
  spams.count.zero?
end
validate!() click to toggle source
# File lib/spam_guardian/validator.rb, line 23
def validate!
  return if @validated
  @response = Client.new.get(params)
  params.each_key do |key|
    case response[key]
    when Hash
      validate_response(response[key])
    when Array
      response[key].each do |hash|
        validate_response(hash)
      end
    end
  end
  @validated = true
end
validate_response(response) click to toggle source
# File lib/spam_guardian/validator.rb, line 39
def validate_response(response)
  unless response.fetch('frequency', 0).to_i.zero?
    spams << response.fetch('value', '')
  end
end