Sha256: 88e0609ef6350a2fa3f6d65bd5999070bf409f49509ef9dc9f7f4dfd32290b07

Contents?: true

Size: 1.27 KB

Versions: 13

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

module FFaker
  module NameGR
    extend ModuleUtils
    extend self

    # Random full name (male or female). Arguments :male, :female, :any
    def full_name(gender = :any)
      case gender
      when :any then rand(0..1).zero? ? male_full_name : female_full_name
      when :male then male_full_name
      when :female then female_full_name
      else raise ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
      end
    end
    alias name full_name

    # Random last name (male or female)
    def last_name
      case rand(0..1)
      when 0 then male_last_name
      when 1 then female_last_name
      end
    end

    # Random first name (male or female)
    def first_name
      case rand(0..1)
      when 0 then male_first_name
      when 1 then female_first_name
      end
    end

    def male_full_name
      "#{male_first_name} #{male_last_name}"
    end

    def female_full_name
      "#{female_first_name} #{female_last_name}"
    end

    def male_first_name
      fetch_sample(MALE_FIRST_NAMES)
    end

    def male_last_name
      fetch_sample(MALE_LAST_NAMES)
    end

    def female_first_name
      fetch_sample(FEMALE_FIRST_NAMES)
    end

    def female_last_name
      fetch_sample(FEMALE_LAST_NAMES)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
ffaker-2.24.0 lib/ffaker/name_gr.rb
ffaker-2.23.0 lib/ffaker/name_gr.rb
ffaker-2.22.0 lib/ffaker/name_gr.rb
ffaker-2.21.0 lib/ffaker/name_gr.rb
ffaker-2.20.0 lib/ffaker/name_gr.rb
ffaker-2.19.0 lib/ffaker/name_gr.rb
ffaker-2.18.0 lib/ffaker/name_gr.rb
ffaker-2.17.0 lib/ffaker/name_gr.rb
ffaker-2.16.0 lib/ffaker/name_gr.rb
ffaker-2.15.0 lib/ffaker/name_gr.rb
ffaker-2.14.0 lib/ffaker/name_gr.rb
ffaker-2.13.0 lib/ffaker/name_gr.rb
ffaker-2.12.0 lib/ffaker/name_gr.rb