cowsay 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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