Class: Geeklets
- Inherits:
-
Object
- Object
- Geeklets
- Defined in:
- lib/geeklets.rb
Class Method Summary collapse
- .run(params) ⇒ Object
- .run_geeklet(geeklet, params) ⇒ Object
- .script_inventory ⇒ Object
- .show_known_scripts ⇒ Object
- .show_usage ⇒ Object
Class Method Details
.run(params) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/geeklets.rb', line 35 def self.run(params) if params.empty? show_usage show_known_scripts else geeklet = params.shift if script_inventory.include?(geeklet) run_geeklet(geeklet, params) else puts "I do not know how to run the #{geeklet} geeklet." show_known_scripts end end end |
.run_geeklet(geeklet, params) ⇒ Object
29 30 31 32 33 |
# File 'lib/geeklets.rb', line 29 def self.run_geeklet(geeklet, params) require "#{geeklet}/#{geeklet.downcase}" obj = eval("#{geeklet}.new") obj.run(params) end |
.script_inventory ⇒ Object
22 23 24 25 26 27 |
# File 'lib/geeklets.rb', line 22 def self.script_inventory cwd = File.dirname(__FILE__) children = Pathname.new(cwd).children children.reject! { |child| !child.directory? } children.map! { |child| child.basename.to_s } end |
.show_known_scripts ⇒ Object
15 16 17 18 19 20 |
# File 'lib/geeklets.rb', line 15 def self.show_known_scripts puts "These are the currently known geeklet scripts:" puts script_inventory.each { |script| puts "\t#{script}"} puts end |
.show_usage ⇒ Object
10 11 12 13 |
# File 'lib/geeklets.rb', line 10 def self.show_usage puts "Usage: geeklets <geeklet-script> [relevant-parameters-for-script]" puts end |