Class: MyScripts::Script
- Inherits:
-
Object
show all
- Defined in:
- lib/my_scripts/script.rb
Overview
Base class for all scripts. Subclass it and override run method with actual work your script will be doing
Instance Method Summary
collapse
Constructor Details
#initialize(name, argv, cli) ⇒ Script
Returns a new instance of Script.
5
6
7
8
9
|
# File 'lib/my_scripts/script.rb', line 5
def initialize( name, argv, cli )
@name = name
@argv = argv
@cli = cli
end
|
Instance Method Details
#gets ⇒ Object
27
28
29
|
# File 'lib/my_scripts/script.rb', line 27
def gets
@cli.stdin.gets
end
|
#puts(*args) ⇒ Object
22
23
24
25
|
# File 'lib/my_scripts/script.rb', line 22
def puts *args
@cli.stdout.puts *args
nil
end
|
#run ⇒ Object
19
20
|
# File 'lib/my_scripts/script.rb', line 19
def run
end
|
#to_s ⇒ Object
38
39
40
|
# File 'lib/my_scripts/script.rb', line 38
def to_s
"#{@name} #{@argv.join(' ')} -> #{self.class}"
end
|
#usage(examples, explanation = nil) ⇒ Object
31
32
33
34
35
36
|
# File 'lib/my_scripts/script.rb', line 31
def usage examples, explanation = nil
puts "Script #{@name} #{version} - Usage:"
(examples.respond_to?(:split) ? examples.split("\n") : examples).map {|line| puts " #{@name} #{line}"}
puts explanation if explanation
exit 1
end
|
#version ⇒ Object
11
12
13
14
15
16
17
|
# File 'lib/my_scripts/script.rb', line 11
def version
if self.class.const_defined? :VERSION
self.class::VERSION else
VERSION end
end
|