Module: SayisalCaptcha

Defined in:
lib/sayisal_captcha.rb,
lib/sayisal_captcha/version.rb

Overview

Kullanılacak modül

Constant Summary collapse

NUMBERS =
["Sıfır", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz"]
OPERATORS =
[:+, :*]
VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.generate_numbersObject

Random numaraları üreten ve hem sayı hem tekst olarak döndüren method



16
17
18
19
# File 'lib/sayisal_captcha.rb', line 16

def self.generate_numbers
  numbers = [(0..9).to_a.sample, (0..9).to_a.sample]
  [numbers, numbers.map{ |n| number_to_text(number: n) }]
end

.generate_questionObject

Esas kullanacağımız ana method



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/sayisal_captcha.rb', line 22

def self.generate_question
  numbers = generate_numbers.first
  operation = OPERATORS.sample
  first_number = numbers.first
  last_number = numbers.last
  result = first_number.method(operation).call(last_number)
  {
    first_number: first_number,
    last_number: last_number,
    operation: operation,
    question: "#{first_number} #{operation.to_s} #{last_number}",
    result: result
  }
end

.number_to_text(number: 0) ⇒ Object

Sayıyı Türkçe tekste çeviren method



11
12
13
# File 'lib/sayisal_captcha.rb', line 11

def self.number_to_text(number: 0)
  NUMBERS[number]
end