Module: Cowsay

Defined in:
lib/cowsay.rb,
lib/cowsay/version.rb,
lib/cowsay/character.rb,
lib/cowsay/character/cow.rb,
lib/cowsay/character/ren.rb,
lib/cowsay/character/tux.rb,
lib/cowsay/character/base.rb,
lib/cowsay/character/bunny.rb,
lib/cowsay/character/frogs.rb,
lib/cowsay/character/kitty.rb,
lib/cowsay/character/koala.rb,
lib/cowsay/character/moose.rb,
lib/cowsay/character/sheep.rb,
lib/cowsay/character/beavis.rb,
lib/cowsay/character/cheese.rb,
lib/cowsay/character/daemon.rb,
lib/cowsay/character/dragon.rb,
lib/cowsay/character/stimpy.rb,
lib/cowsay/character/turkey.rb,
lib/cowsay/character/turtle.rb,
lib/cowsay/character/elephant.rb,
lib/cowsay/character/stegosaurus.rb,
lib/cowsay/character/ghostbusters.rb

Defined Under Namespace

Modules: Character

Constant Summary collapse

VERSION =
'0.2.0'

Class Method Summary collapse

Class Method Details

.character_classesObject



12
13
14
# File 'lib/cowsay.rb', line 12

def character_classes
  @character_classes ||= Character.constants.map { |c| c.to_sym } - [:Base, :Template]
end

.random_characterObject



7
8
9
10
# File 'lib/cowsay.rb', line 7

def random_character
  random_class = Character.const_get(character_classes[rand(character_classes.length)])
  random_class.new
end

.say(message) ⇒ Object



16
17
18
# File 'lib/cowsay.rb', line 16

def say(message)
  random_character.say(message)
end