cowsay 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,19 @@
1
1
  require 'cowsay/version'
2
+ require 'cowsay/character'
2
3
 
3
- module Cowsay
4
- module_function
4
+ module ::Cowsay
5
+ module_function # all instance methods are available on the module (class) level
5
6
 
6
- autoload :Character, 'cowsay/character'
7
+ def random_character
8
+ random_class = Character.const_get(character_classes[rand(character_classes.length)])
9
+ random_class.new
10
+ end
11
+
12
+ def character_classes
13
+ @character_classes ||= Character.constants - [:Base, :Template]
14
+ end
7
15
 
8
16
  def say(message)
9
- puts Character::Cow.say message
17
+ puts random_character.say(message)
10
18
  end
11
19
  end
@@ -1,9 +1,9 @@
1
1
  module Cowsay
2
2
  module Character
3
+ autoload :Base, 'cowsay/character/base'
3
4
  end
4
5
  end
5
6
 
6
- require 'cowsay/character/base'
7
7
  Dir[File.expand_path('character/*.rb', File.dirname(__FILE__))].each do |character|
8
8
  require character
9
9
  end
@@ -1,3 +1,3 @@
1
1
  module Cowsay
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cowsay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -61,7 +61,6 @@ files:
61
61
  - lib/cowsay/character/sheep.rb
62
62
  - lib/cowsay/character/stegosaurus.rb
63
63
  - lib/cowsay/character/stimpy.rb
64
- - lib/cowsay/character/template.rb
65
64
  - lib/cowsay/character/turkey.rb
66
65
  - lib/cowsay/character/turtle.rb
67
66
  - lib/cowsay/character/tux.rb
@@ -80,7 +79,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
79
  version: '0'
81
80
  segments:
82
81
  - 0
83
- hash: -3959670294971125840
82
+ hash: -2240801358786939971
84
83
  required_rubygems_version: !ruby/object:Gem::Requirement
85
84
  none: false
86
85
  requirements:
@@ -89,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
88
  version: '0'
90
89
  segments:
91
90
  - 0
92
- hash: -3959670294971125840
91
+ hash: -2240801358786939971
93
92
  requirements: []
94
93
  rubyforge_project:
95
94
  rubygems_version: 1.8.24
@@ -1,12 +0,0 @@
1
- module Cowsay
2
- module Character
3
-
4
- class Template < Base
5
- def template
6
- <<-TEMPLATE
7
- TEMPLATE
8
- end
9
- end
10
-
11
- end
12
- end