我为 jruby 中的 UniVerse 数据库上的任务开发了一个简单的 DSL。它看起来像这样
support = {
:host => 'localhost',
:account => 'SUPPORT'
}
uni_task support do
connect
exec "LIST FILE A1"
disconnect
end
并像这样实现
def uni_task(config, &block)
session = UniSession.new
session.instance_eval &block
end
我知道您可以像这样在 ruby 脚本中使用 irb
但是有没有办法放到命令行并更改范围以默认执行对象的实例方法?
例如
irb> uni_commandline support
uni> connect
uni> exec "LIST FILE A1"
.... output .....
uni> disconnect