Commit dc96127

mokha <mokha@cisco.com>
2018-02-14 02:44:54
add `all` command to print all animal messages.
1 parent 0b3dc87
Changed files (1)
lib/xsay.rb
@@ -3,7 +3,9 @@ require "thor"
 
 module Xsay
   class CLI < Thor
-    Dir[File.expand_path("xsay/templates/*.template", File.dirname(__FILE__))].each do |filename|
+    ANIMALS=Dir[File.expand_path("xsay/templates/*.template", File.dirname(__FILE__))]
+
+    ANIMALS.each do |filename|
       animal = File.basename(filename).split(".")[0]
 
       desc "#{animal} <message>", "xsay #{animal} hello"
@@ -12,6 +14,13 @@ module Xsay
       end
     end
 
+    desc "all <message>", "xsay all hello"
+    def all(message)
+      ANIMALS.each do |filename|
+        render(message, IO.read(filename))
+      end
+    end
+
     private
 
     def render(message, template)