class Faker::Books::Dune

A Faker module beyond your dreams, test data beyond your imagination.

Public Class Methods

character() click to toggle source

Produces the name of a character from Dune

@return [String]

@example

Faker::Books::Dune.character #=> "Leto Atreides"

@faker.version 1.9.3

# File lib/faker/books/dune.rb, line 18
def character
  fetch('dune.characters')
end
planet() click to toggle source

Produces the name of a planet from Dune

@return [String]

@example

Faker::Books::Dune.planet #=> "Caladan"

@faker.version 1.9.3

# File lib/faker/books/dune.rb, line 42
def planet
  fetch('dune.planets')
end
quote(legacy_character = NOT_GIVEN, character: nil) click to toggle source

Produces a quote from Dune

@param character [String] The name of the character that the quote should be from

@return [String]

@example

Faker::Books::Dune.quote
  #=> "A dead man, surely, no longer requires that water."

@example

Faker::Books::Dune.quote(character: "baron_harkonnen")
  #=> "He who controls the spice, controls the universe!"

@faker.version 1.9.3

# File lib/faker/books/dune.rb, line 61
def quote(legacy_character = NOT_GIVEN, character: nil)
  warn_for_deprecated_arguments do |keywords|
    keywords << :character if legacy_character != NOT_GIVEN
  end

  quoted_characters = translate('faker.dune.quotes').keys

  if character.nil?
    character = sample(quoted_characters).to_s
  else
    character = character.to_s.downcase

    unless quoted_characters.include?(character.to_sym)
      raise ArgumentError,
            "Characters quoted can be left blank or #{quoted_characters.join(', ')}"
    end
  end

  fetch('dune.quotes.' + character)
end
saying(legacy_source = NOT_GIVEN, source: nil) click to toggle source

Produces a saying from Dune

@param source [String]

@return [String]

@example

Faker::Books::Dune.saying #=> "You do not beg the sun for mercy."

@example

Faker::Books::Dune.saying(source: "fremen")
  #=> "May thy knife chip and shatter."

@faker.version 1.9.3

# File lib/faker/books/dune.rb, line 96
def saying(legacy_source = NOT_GIVEN, source: nil)
  warn_for_deprecated_arguments do |keywords|
    keywords << :source if legacy_source != NOT_GIVEN
  end

  sourced_sayings = translate('faker.dune.sayings').keys

  if source.nil?
    source = sample(sourced_sayings).to_s
  else
    source = source.to_s.downcase

    unless sourced_sayings.include?(source.to_sym)
      raise ArgumentError,
            "Sources quoted in sayings can be left blank or #{sourced_sayings.join(', ')}"
    end
  end

  fetch('dune.sayings.' + source)
end
title() click to toggle source

@return [String]

@example

Faker::Books::Dune.title #=> "Duke"

@faker.version 1.9.3

# File lib/faker/books/dune.rb, line 29
def title
  fetch('dune.titles')
end