class Gendered::Name
Constants
- VALID_GENDERS
Attributes
to_s[R]
value[R]
Public Class Methods
new(value)
click to toggle source
# File lib/gendered/name.rb, line 7 def initialize(value) @value = value @gender, @probability, @sample_size = nil, nil, nil end
Public Instance Methods
female?()
click to toggle source
# File lib/gendered/name.rb, line 61 def female? return :not_guessed unless guessed? gender == :female end
gender()
click to toggle source
# File lib/gendered/name.rb, line 52 def gender @gender || :not_guessed end
gender=(value)
click to toggle source
# File lib/gendered/name.rb, line 46 def gender=(value) symbol = value.to_sym raise ArgumentError, "not a valid gender" unless VALID_GENDERS.include?(symbol) @gender = symbol end
guess!(options = {})
click to toggle source
# File lib/gendered/name.rb, line 19 def guess!(options = {}) Guesser.new(self, options).guess! gender end
guessed?()
click to toggle source
# File lib/gendered/name.rb, line 15 def guessed? !!@gender end
male?()
click to toggle source
# File lib/gendered/name.rb, line 56 def male? return :not_guessed unless guessed? gender == :male end
probability()
click to toggle source
# File lib/gendered/name.rb, line 31 def probability @probability || :unknown end
probability=(value)
click to toggle source
# File lib/gendered/name.rb, line 24 def probability=(value) decimal = BigDecimal(value.to_s) raise ArgumentError, "value not between 0.01 and 1.0" if decimal <= 0 || decimal > 1 @probability = decimal end
sample_size()
click to toggle source
# File lib/gendered/name.rb, line 42 def sample_size @sample_size || :unknown end
sample_size=(value)
click to toggle source
# File lib/gendered/name.rb, line 35 def sample_size=(value) integer = Integer(value) raise ArgumentError, "value not greater than or equal to 0" if integer < 0 @sample_size = integer end