class Faker::Science

def science(*branches)

Returns:
  • (String) -

Parameters:
  • branches (Array) --

Other tags:
    See: Faker::Educator.subject -
    See: https://en.wikipedia.org/wiki/Science#Branches_of_science -
def science(*branches)
  selected = BRANCHES.values.flatten.uniq
  branches.each do |branch|
    selected &= BRANCHES[branch] if BRANCHES.key? branch
  end
  raise ArgumentError, 'Filters do not match any sciences' if selected.empty?
  sciences = []
  selected.each do |branch|
    sciences += translate("faker.science.branch.#{branch}")
  end
  sample(sciences)
end