Top Level Namespace
Defined Under Namespace
Modules: Bashir Classes: String
Constant Summary collapse
- StoreURL =
file: /home/robert/git/ruby/bashir/lib/bashir/globals.rb
"#{ENV[ "HOME" ]}/tmp/bashir.persistant"
Instance Method Summary collapse
-
#eval_in_sandbox(cmd) ⇒ Object
file: /home/robert/git/ruby/bashir/lib/bashir/evaluator.rb.
- #execute_command(cmd, *args) ⇒ Object
-
#retrieve ⇒ Object
file: /home/robert/git/ruby/bashir/lib/bashir/persistant.rb.
- #set_variable(name, args) ⇒ Object
- #store(data) ⇒ Object
Instance Method Details
#eval_in_sandbox(cmd) ⇒ Object
file: /home/robert/git/ruby/bashir/lib/bashir/evaluator.rb
5 6 7 |
# File 'lib/bashir/evaluator.rb', line 5 def eval_in_sandbox cmd Sandbox.instance_eval cmd end |
#execute_command(cmd, *args) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/bashir/commands.rb', line 14 def execute_command cmd, *args case cmd when /\A_sys\Z/ system args.join( " " ) when /\A\w+=\Z/ set_variable cmd.sub(/=\Z/, ""), args store @variables args when "first" puts args.first when "get" @variables = retrieve puts @variables[ args.first.to_sym ] when "set" eval_in_sandbox args.join( " " ) else $stderr.puts "Bashir: Illegal Command \"#{cmd}\"" exit 1 end end |
#retrieve ⇒ Object
file: /home/robert/git/ruby/bashir/lib/bashir/persistant.rb
5 6 7 |
# File 'lib/bashir/persistant.rb', line 5 def retrieve Marshal.load( File.open( StoreURL ) ) end |
#set_variable(name, args) ⇒ Object
9 10 11 12 |
# File 'lib/bashir/commands.rb', line 9 def set_variable name, args @variables[ name.to_sym ] = args.join( " " ) end |
#store(data) ⇒ Object
9 10 11 12 13 |
# File 'lib/bashir/persistant.rb', line 9 def store data File.open StoreURL, "w" do | f | Marshal.dump data, f end end |