module Faker::Config

def locale

def locale
  # Because I18n.locale defaults to :en, if we don't have :en in our available_locales, errors will happen
  Thread.current[:faker_config_locale] || @default_locale || (I18n.available_locales.include?(I18n.locale) ? I18n.locale : I18n.available_locales.first)
end

def locale=(new_locale)

def locale=(new_locale)
  Thread.current[:faker_config_locale] = new_locale
end

def own_locale

def own_locale
  Thread.current[:faker_config_locale]
end

def random

def random
  Thread.current[:faker_config_random] || Random
end

def random=(new_random)

def random=(new_random)
  Thread.current[:faker_config_random] = new_random
end