Sha256: 9ba25ff796632d4cc1c047f428edfae722e8a91fbb1427bc398ad7d2c40f30f5

Contents?: true

Size: 1.55 KB

Versions: 5

Compression:

Stored size: 1.55 KB

Contents

# encoding: utf-8

require 'ffaker/name'

module Faker
  module NameDA
    include Faker::Name

    extend ModuleUtils
    extend self

    PREFIXES = %w(Hr. Fr. Dr. Prof.)

    def name gender = :any
      case gender
      when :any then any_name
      when :male then male_name
      when :female then female_name
      else
        raise ArgumentError, "Invalid gender, must be one of :any, :male, :female"
      end
    end

    def any_name
      case rand(8)
      when 0    then "#{prefix} #{first_name} #{last_name}"
      when 1..2 then "#{first_name} #{last_name} #{last_name}"
      else           "#{first_name} #{last_name}"
      end
    end

    def male_name
      fname = first_name :male
      case rand(8)
      when 0    then "#{prefix} #{fname} #{last_name}"
      when 1..2 then "#{fname} #{last_name} #{last_name}"
      else           "#{fname} #{last_name}"
      end
    end

    def female_name
      fname = first_name :female
      case rand(8)
      when 0    then "#{prefix} #{fname} #{last_name}"
      when 1..2 then "#{fname} #{last_name} #{last_name}"
      else           "#{fname} #{last_name}"
      end
    end

    def first_name gender = :any
      case gender
      when :any then (rand(2) == 0) ? name(:male) : name(:female)
      when :male then MALE_FIRST_NAMES.sample
      when :female then FEMALE_FIRST_NAMES.sample
      else
        raise ArgumentError, "Invalid gender, must be one of :any, :male, :female"
      end
    end

    def last_name
      LAST_NAMES.sample
    end

    def prefix
      PREFIXES.sample
    end

  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
solidus_backend-1.0.0.pre3 vendor/bundle/gems/ffaker-1.32.1/lib/ffaker/name_da.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/ffaker-1.32.1/lib/ffaker/name_da.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/ffaker-1.32.1/lib/ffaker/name_da.rb
ffaker-1.32.1 lib/ffaker/name_da.rb
ffaker-1.32.0 lib/ffaker/name_da.rb